11
11
from py_vapid import Vapid01 , Vapid02 , VapidException
12
12
from py_vapid .jwt import decode
13
13
14
- # This is a private key in DER form.
15
- T_DER = """
14
+ TEST_KEY_PRIVATE_DER = """
16
15
MHcCAQEEIPeN1iAipHbt8+/KZ2NIF8NeN24jqAmnMLFZEMocY8RboAoGCCqGSM49
17
16
AwEHoUQDQgAEEJwJZq/GN8jJbo1GGpyU70hmP2hbWAUpQFKDByKB81yldJ9GTklB
18
17
M5xqEwuPM7VuQcyiLDhvovthPIXx+gsQRQ==
25
24
)
26
25
27
26
# This is the same private key, in PEM form.
28
- T_PRIVATE = ("-----BEGIN PRIVATE KEY-----{}"
29
- "-----END PRIVATE KEY-----\n " ).format (T_DER )
27
+ TEST_KEY_PRIVATE_PEM = (
28
+ "-----BEGIN PRIVATE KEY-----{}"
29
+ "-----END PRIVATE KEY-----\n " ).format (TEST_KEY_PRIVATE_DER )
30
30
31
31
# This is the same private key, as a point in uncompressed form. This should
32
32
# be Base64url-encoded without padding.
33
- T_RAW = """
33
+ TEST_KEY_PRIVATE_RAW = """
34
34
943WICKkdu3z78pnY0gXw143biOoCacwsVkQyhxjxFs
35
35
""" .strip ().encode ('utf8' )
36
36
37
37
# This is a public key in PEM form.
38
- T_PUBLIC = """-----BEGIN PUBLIC KEY-----
38
+ TEST_KEY_PUBLIC_PEM = """-----BEGIN PUBLIC KEY-----
39
39
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEJwJZq/GN8jJbo1GGpyU70hmP2hb
40
40
WAUpQFKDByKB81yldJ9GTklBM5xqEwuPM7VuQcyiLDhvovthPIXx+gsQRQ==
41
41
-----END PUBLIC KEY-----
42
42
"""
43
43
44
44
# this is a public key in uncompressed form ('\x04' + 2 * 32 octets)
45
45
# Remember, this should have any padding stripped.
46
- T_PUBLIC_RAW = (
46
+ TEST_KEY_PUBLIC_RAW = (
47
47
"BBCcCWavxjfIyW6NRhqclO9IZj9oW1gFKUBSgwcigfNc"
48
48
"pXSfRk5JQTOcahMLjzO1bkHMoiw4b6L7YTyF8foLEEU"
49
49
).strip ('=' ).encode ('utf8' )
50
50
51
51
52
52
def setUp (self ):
53
53
with open ('/tmp/private' , 'w' ) as ff :
54
- ff .write (T_PRIVATE )
54
+ ff .write (TEST_KEY_PRIVATE_PEM )
55
55
with open ('/tmp/public' , 'w' ) as ff :
56
- ff .write (T_PUBLIC )
56
+ ff .write (TEST_KEY_PUBLIC_PEM )
57
57
with open ('/tmp/private.der' , 'w' ) as ff :
58
- ff .write (T_DER )
58
+ ff .write (TEST_KEY_PRIVATE_DER )
59
59
60
60
61
61
def tearDown (self ):
@@ -72,9 +72,9 @@ def check_keys(self, v):
72
72
def test_init (self ):
73
73
v1 = Vapid01 .from_file ("/tmp/private" )
74
74
self .check_keys (v1 )
75
- v2 = Vapid01 .from_pem (T_PRIVATE .encode ())
75
+ v2 = Vapid01 .from_pem (TEST_KEY_PRIVATE_PEM .encode ())
76
76
self .check_keys (v2 )
77
- v3 = Vapid01 .from_der (T_DER .encode ())
77
+ v3 = Vapid01 .from_der (TEST_KEY_PRIVATE_DER .encode ())
78
78
self .check_keys (v3 )
79
79
v4 = Vapid01 .from_file ("/tmp/private.der" )
80
80
self .check_keys (v4 )
@@ -121,22 +121,22 @@ def test_same_public_key(self):
121
121
os .unlink ("/tmp/p2" )
122
122
123
123
def test_from_raw (self ):
124
- v = Vapid01 .from_raw (T_RAW )
124
+ v = Vapid01 .from_raw (TEST_KEY_PRIVATE_RAW )
125
125
self .check_keys (v )
126
126
127
127
def test_from_string (self ):
128
- v1 = Vapid01 .from_string (T_DER )
129
- v2 = Vapid01 .from_string (T_RAW .decode ())
128
+ v1 = Vapid01 .from_string (TEST_KEY_PRIVATE_DER )
129
+ v2 = Vapid01 .from_string (TEST_KEY_PRIVATE_RAW .decode ())
130
130
self .check_keys (v1 )
131
131
self .check_keys (v2 )
132
132
133
133
def test_sign_01 (self ):
134
- v = Vapid01 .from_string (T_DER )
134
+ v = Vapid01 .from_string (TEST_KEY_PRIVATE_DER )
135
135
claims = {"aud" : "https://example.com" ,
136
136
"sub" :
"mailto:[email protected] " }
137
137
result = v .sign (claims , "id=previous" )
138
138
eq_ (result ['Crypto-Key' ],
139
- 'id=previous;p256ecdsa=' + T_PUBLIC_RAW .decode ('utf8' ))
139
+ 'id=previous;p256ecdsa=' + TEST_KEY_PUBLIC_RAW .decode ('utf8' ))
140
140
pkey = binascii .b2a_base64 (
141
141
v .public_key .public_bytes (
142
142
serialization .Encoding .X962 ,
@@ -148,7 +148,7 @@ def test_sign_01(self):
148
148
eq_ (items [k ], claims [k ])
149
149
result = v .sign (claims )
150
150
eq_ (result ['Crypto-Key' ],
151
- 'p256ecdsa=' + T_PUBLIC_RAW .decode ('utf8' ))
151
+ 'p256ecdsa=' + TEST_KEY_PUBLIC_RAW .decode ('utf8' ))
152
152
# Verify using the same function as Integration
153
153
# this should ensure that the r,s sign values are correctly formed
154
154
ok_ (Vapid01 .verify (
0 commit comments