示例#1
0
 def test_base64_encode_decode_header_fixed_data(self):
     # Example from https://tools.ietf.org/html/rfc7519#section-3.1
     header = bytes([
         123, 34, 116, 121, 112, 34, 58, 34, 74, 87, 84, 34, 44, 13, 10, 32,
         34, 97, 108, 103, 34, 58, 34, 72, 83, 50, 53, 54, 34, 125
     ])
     encoded_header = b'eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9'
     self.assertEqual(_jwt_format._base64_encode(header), encoded_header)
     self.assertEqual(_jwt_format._base64_decode(encoded_header), header)
示例#2
0
 def test_base64_encode_decode_payload_fixed_data(self):
   # Example from https://tools.ietf.org/html/rfc7519#section-3.1
   payload = bytes([
       123, 34, 105, 115, 115, 34, 58, 34, 106, 111, 101, 34, 44, 13, 10, 32,
       34, 101, 120, 112, 34, 58, 49, 51, 48, 48, 56, 49, 57, 51, 56, 48, 44,
       13, 10, 32, 34, 104, 116, 116, 112, 58, 47, 47, 101, 120, 97, 109, 112,
       108, 101, 46, 99, 111, 109, 47, 105, 115, 95, 114, 111, 111, 116, 34,
       58, 116, 114, 117, 101, 125
   ])
   encoded_payload = (b'eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0'
                      b'dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ')
   self.assertEqual(_jwt_format._base64_encode(payload), encoded_payload)
   self.assertEqual(_jwt_format._base64_decode(encoded_payload), payload)
示例#3
0
 def test_base64_decode_fails_with_unknown_chars(self):
     self.assertNotEmpty(
         _jwt_format._base64_decode(
             b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
         ))
     self.assertEqual(_jwt_format._base64_decode(b''), b'')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b'[')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b'@')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b'/')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b':')
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b'{')
示例#4
0
 def test_base64_decode_bad_format_raises_jwt_invalid_error(self):
     with self.assertRaises(_jwt_error.JwtInvalidError):
         _jwt_format._base64_decode(b'aeyJh')