@@ -96,7 +96,7 @@ def test_add_headers(self, claims):
9696 assert expected_headers == header
9797
9898
99- private_key = """-----BEGIN RSA PRIVATE KEY-----
99+ rsa_private_key = """-----BEGIN RSA PRIVATE KEY-----
100100MIIJKwIBAAKCAgEAtSKfSeI0fukRIX38AHlKB1YPpX8PUYN2JdvfM+XjNmLfU1M7
1011014N0VmdzIX95sneQGO9kC2xMIE+AIlt52Yf/KgBZggAlS9Y0Vx8DsSL2HvOjguAdX
102102ir3vYLvAyyHin/mUisJOqccFKChHKjnk0uXy/38+1r17/cYTp76brKpU1I4kM20M
@@ -148,7 +148,7 @@ def test_add_headers(self, claims):
148148mdUxHwi1ulkspAn/fmY7f0hZpskDwcHyZmbKZuk+NU/FJ8IAcmvk9y7m25nSSc8=
149149-----END RSA PRIVATE KEY-----"""
150150
151- public_key = """-----BEGIN PUBLIC KEY-----
151+ rsa_public_key = """-----BEGIN PUBLIC KEY-----
152152MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtSKfSeI0fukRIX38AHlK
153153B1YPpX8PUYN2JdvfM+XjNmLfU1M74N0VmdzIX95sneQGO9kC2xMIE+AIlt52Yf/K
154154gBZggAlS9Y0Vx8DsSL2HvOjguAdXir3vYLvAyyHin/mUisJOqccFKChHKjnk0uXy
@@ -167,26 +167,61 @@ def test_add_headers(self, claims):
167167class TestRSA :
168168
169169 def test_RSA256 (self , claims ):
170- token = jws .sign (claims , private_key , algorithm = ALGORITHMS .RS256 )
171- assert jws .verify (token , public_key , ALGORITHMS .RS256 ) == claims
170+ token = jws .sign (claims , rsa_private_key , algorithm = ALGORITHMS .RS256 )
171+ assert jws .verify (token , rsa_public_key , ALGORITHMS .RS256 ) == claims
172172
173173 def test_RSA384 (self , claims ):
174- token = jws .sign (claims , private_key , algorithm = ALGORITHMS .RS384 )
175- assert jws .verify (token , public_key , ALGORITHMS .RS384 ) == claims
174+ token = jws .sign (claims , rsa_private_key , algorithm = ALGORITHMS .RS384 )
175+ assert jws .verify (token , rsa_public_key , ALGORITHMS .RS384 ) == claims
176176
177177 def test_RSA512 (self , claims ):
178- token = jws .sign (claims , private_key , algorithm = ALGORITHMS .RS512 )
179- assert jws .verify (token , public_key , ALGORITHMS .RS512 ) == claims
178+ token = jws .sign (claims , rsa_private_key , algorithm = ALGORITHMS .RS512 )
179+ assert jws .verify (token , rsa_public_key , ALGORITHMS .RS512 ) == claims
180180
181181 def test_wrong_alg (self , claims ):
182- token = jws .sign (claims , private_key , algorithm = ALGORITHMS .RS256 )
182+ token = jws .sign (claims , rsa_private_key , algorithm = ALGORITHMS .RS256 )
183183 with pytest .raises (JWSError ):
184- jws .verify (token , public_key , ALGORITHMS .RS384 )
184+ jws .verify (token , rsa_public_key , ALGORITHMS .RS384 )
185185
186186 def test_wrong_key (self , claims ):
187- token = jws .sign (claims , private_key , algorithm = ALGORITHMS .RS256 )
187+ token = jws .sign (claims , rsa_private_key , algorithm = ALGORITHMS .RS256 )
188188 with pytest .raises (JWSError ):
189- jws .verify (token , public_key , ALGORITHMS .HS256 )
189+ jws .verify (token , rsa_public_key , ALGORITHMS .HS256 )
190+
191+ ec_private_key = """-----BEGIN EC PRIVATE KEY-----
192+ MIHcAgEBBEIBzs13YUnYbLfYXTz4SG4DE4rPmsL3wBTdy34JcO+BDpI+NDZ0pqam
193+ UM/1sGZT+8hqUjSeQo6oz+Mx0VS6SJh31zygBwYFK4EEACOhgYkDgYYABACYencK
194+ 8pm/iAeDVptaEZTZwNT0yW/muVwvvwkzS/D6GDCLsnLfI6e1FwEnTJF/GPFUlN5l
195+ 9JSLxsbbFdM1muI+NgBE6ZLR1GZWjsNzu7BOB8RMy/mvSTokZwyIaWvWSn3hOF4i
196+ /4iczJnzJhUKDqHe5dJ//PLd7R3WVHxkvv7jFNTKYg==
197+ -----END EC PRIVATE KEY-----"""
198+
199+ ec_public_key = """-----BEGIN PUBLIC KEY-----
200+ MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmHp3CvKZv4gHg1abWhGU2cDU9Mlv
201+ 5rlcL78JM0vw+hgwi7Jy3yOntRcBJ0yRfxjxVJTeZfSUi8bG2xXTNZriPjYAROmS
202+ 0dRmVo7Dc7uwTgfETMv5r0k6JGcMiGlr1kp94TheIv+InMyZ8yYVCg6h3uXSf/zy
203+ 3e0d1lR8ZL7+4xTUymI=
204+ -----END PUBLIC KEY-----"""
205+
206+
207+ class TestEC :
208+
209+ def test_EC256 (self , claims ):
210+ token = jws .sign (claims , ec_private_key , algorithm = ALGORITHMS .ES256 )
211+ assert jws .verify (token , ec_public_key , ALGORITHMS .ES256 ) == claims
212+
213+ def test_EC384 (self , claims ):
214+ token = jws .sign (claims , ec_private_key , algorithm = ALGORITHMS .ES384 )
215+ assert jws .verify (token , ec_public_key , ALGORITHMS .ES384 ) == claims
216+
217+ def test_EC512 (self , claims ):
218+ token = jws .sign (claims , ec_private_key , algorithm = ALGORITHMS .ES512 )
219+ assert jws .verify (token , ec_public_key , ALGORITHMS .ES512 ) == claims
220+
221+ def test_wrong_alg (self , claims ):
222+ token = jws .sign (claims , ec_private_key , algorithm = ALGORITHMS .ES256 )
223+ with pytest .raises (JWSError ):
224+ jws .verify (token , rsa_public_key , ALGORITHMS .ES384 )
190225
191226
192227class TestLoad :
0 commit comments