1111from py_vapid import Vapid01 , Vapid02 , VapidException
1212from py_vapid .jwt import decode
1313
14- # This is a private key in DER form.
15- T_DER = """
14+ TEST_KEY_PRIVATE_DER = """
1615MHcCAQEEIPeN1iAipHbt8+/KZ2NIF8NeN24jqAmnMLFZEMocY8RboAoGCCqGSM49
1716AwEHoUQDQgAEEJwJZq/GN8jJbo1GGpyU70hmP2hbWAUpQFKDByKB81yldJ9GTklB
1817M5xqEwuPM7VuQcyiLDhvovthPIXx+gsQRQ==
2524)
2625
2726# 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 )
3030
3131# This is the same private key, as a point in uncompressed form. This should
3232# be Base64url-encoded without padding.
33- T_RAW = """
33+ TEST_KEY_PRIVATE_RAW = """
3434943WICKkdu3z78pnY0gXw143biOoCacwsVkQyhxjxFs
3535""" .strip ().encode ('utf8' )
3636
3737# This is a public key in PEM form.
38- T_PUBLIC = """-----BEGIN PUBLIC KEY-----
38+ TEST_KEY_PUBLIC_PEM = """-----BEGIN PUBLIC KEY-----
3939MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEJwJZq/GN8jJbo1GGpyU70hmP2hb
4040WAUpQFKDByKB81yldJ9GTklBM5xqEwuPM7VuQcyiLDhvovthPIXx+gsQRQ==
4141-----END PUBLIC KEY-----
4242"""
4343
4444# this is a public key in uncompressed form ('\x04' + 2 * 32 octets)
4545# Remember, this should have any padding stripped.
46- T_PUBLIC_RAW = (
46+ TEST_KEY_PUBLIC_RAW = (
4747 "BBCcCWavxjfIyW6NRhqclO9IZj9oW1gFKUBSgwcigfNc"
4848 "pXSfRk5JQTOcahMLjzO1bkHMoiw4b6L7YTyF8foLEEU"
4949 ).strip ('=' ).encode ('utf8' )
5050
5151
5252def setUp (self ):
5353 with open ('/tmp/private' , 'w' ) as ff :
54- ff .write (T_PRIVATE )
54+ ff .write (TEST_KEY_PRIVATE_PEM )
5555 with open ('/tmp/public' , 'w' ) as ff :
56- ff .write (T_PUBLIC )
56+ ff .write (TEST_KEY_PUBLIC_PEM )
5757 with open ('/tmp/private.der' , 'w' ) as ff :
58- ff .write (T_DER )
58+ ff .write (TEST_KEY_PRIVATE_DER )
5959
6060
6161def tearDown (self ):
@@ -72,9 +72,9 @@ def check_keys(self, v):
7272 def test_init (self ):
7373 v1 = Vapid01 .from_file ("/tmp/private" )
7474 self .check_keys (v1 )
75- v2 = Vapid01 .from_pem (T_PRIVATE .encode ())
75+ v2 = Vapid01 .from_pem (TEST_KEY_PRIVATE_PEM .encode ())
7676 self .check_keys (v2 )
77- v3 = Vapid01 .from_der (T_DER .encode ())
77+ v3 = Vapid01 .from_der (TEST_KEY_PRIVATE_DER .encode ())
7878 self .check_keys (v3 )
7979 v4 = Vapid01 .from_file ("/tmp/private.der" )
8080 self .check_keys (v4 )
@@ -121,22 +121,22 @@ def test_same_public_key(self):
121121 os .unlink ("/tmp/p2" )
122122
123123 def test_from_raw (self ):
124- v = Vapid01 .from_raw (T_RAW )
124+ v = Vapid01 .from_raw (TEST_KEY_PRIVATE_RAW )
125125 self .check_keys (v )
126126
127127 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 ())
130130 self .check_keys (v1 )
131131 self .check_keys (v2 )
132132
133133 def test_sign_01 (self ):
134- v = Vapid01 .from_string (T_DER )
134+ v = Vapid01 .from_string (TEST_KEY_PRIVATE_DER )
135135 claims = {"aud" : "https://example.com" ,
136136 "sub" :
"mailto:[email protected] " }
137137 result = v .sign (claims , "id=previous" )
138138 eq_ (result ['Crypto-Key' ],
139- 'id=previous;p256ecdsa=' + T_PUBLIC_RAW .decode ('utf8' ))
139+ 'id=previous;p256ecdsa=' + TEST_KEY_PUBLIC_RAW .decode ('utf8' ))
140140 pkey = binascii .b2a_base64 (
141141 v .public_key .public_bytes (
142142 serialization .Encoding .X962 ,
@@ -148,7 +148,7 @@ def test_sign_01(self):
148148 eq_ (items [k ], claims [k ])
149149 result = v .sign (claims )
150150 eq_ (result ['Crypto-Key' ],
151- 'p256ecdsa=' + T_PUBLIC_RAW .decode ('utf8' ))
151+ 'p256ecdsa=' + TEST_KEY_PUBLIC_RAW .decode ('utf8' ))
152152 # Verify using the same function as Integration
153153 # this should ensure that the r,s sign values are correctly formed
154154 ok_ (Vapid01 .verify (
0 commit comments