@@ -161,7 +161,7 @@ def sign(self, key, payload):
161161 return ''
162162
163163 def verify (self , key , payload , signature ):
164- if key . key_type != 'oct' or key .get_op_key () != '' :
164+ if key [ 'kty' ] != 'oct' or key .get_op_key () != '' :
165165 raise InvalidSignature ('The "none" signature cannot be verified' )
166166
167167
@@ -353,8 +353,8 @@ def __init__(self, padfn):
353353 def _check_key (self , key ):
354354 if not isinstance (key , JWK ):
355355 raise ValueError ('key is not a JWK object' )
356- if key . key_type != 'RSA' :
357- raise InvalidJWEKeyType ('RSA' , key . key_type )
356+ if key [ 'kty' ] != 'RSA' :
357+ raise InvalidJWEKeyType ('RSA' , key [ 'kty' ] )
358358
359359 # FIXME: get key size and insure > 2048 bits
360360 def wrap (self , key , bitsize , cek , headers ):
@@ -441,8 +441,8 @@ def __init__(self):
441441 def _get_key (self , key , op ):
442442 if not isinstance (key , JWK ):
443443 raise ValueError ('key is not a JWK object' )
444- if key . key_type != 'oct' :
445- raise InvalidJWEKeyType ('oct' , key . key_type )
444+ if key [ 'kty' ] != 'oct' :
445+ raise InvalidJWEKeyType ('oct' , key [ 'kty' ] )
446446 rk = base64url_decode (key .get_op_key (op ))
447447 if _bitsize (rk ) != self .keysize :
448448 raise InvalidJWEKeyLength (self .keysize , _bitsize (rk ))
@@ -503,8 +503,8 @@ def __init__(self):
503503 def _get_key (self , key , op ):
504504 if not isinstance (key , JWK ):
505505 raise ValueError ('key is not a JWK object' )
506- if key . key_type != 'oct' :
507- raise InvalidJWEKeyType ('oct' , key . key_type )
506+ if key [ 'kty' ] != 'oct' :
507+ raise InvalidJWEKeyType ('oct' , key [ 'kty' ] )
508508 rk = base64url_decode (key .get_op_key (op ))
509509 if _bitsize (rk ) != self .keysize :
510510 raise InvalidJWEKeyLength (self .keysize , _bitsize (rk ))
@@ -669,8 +669,8 @@ class _Direct(_RawKeyMgmt, JWAAlgorithm):
669669 def _check_key (self , key ):
670670 if not isinstance (key , JWK ):
671671 raise ValueError ('key is not a JWK object' )
672- if key . key_type != 'oct' :
673- raise InvalidJWEKeyType ('oct' , key . key_type )
672+ if key [ 'kty' ] != 'oct' :
673+ raise InvalidJWEKeyType ('oct' , key [ 'kty' ] )
674674
675675 def wrap (self , key , bitsize , cek , headers ):
676676 self ._check_key (key )
@@ -706,12 +706,12 @@ def __init__(self):
706706 def _check_key (self , key ):
707707 if not isinstance (key , JWK ):
708708 raise ValueError ('key is not a JWK object' )
709- if key . key_type not in ['EC' , 'OKP' ]:
710- raise InvalidJWEKeyType ('EC or OKP' , key . key_type )
711- if key . key_type == 'OKP' :
712- if key . key_curve not in ['X25519' , 'X448' ]:
709+ if key [ 'kty' ] not in ['EC' , 'OKP' ]:
710+ raise InvalidJWEKeyType ('EC or OKP' , key [ 'kty' ] )
711+ if key [ 'kty' ] == 'OKP' :
712+ if key [ 'crv' ] not in ['X25519' , 'X448' ]:
713713 raise InvalidJWEKeyType ('X25519 or X448' ,
714- key . key_curve )
714+ key [ 'crv' ] )
715715
716716 def _derive (self , privkey , pubkey , alg , bitsize , headers ):
717717 # OtherInfo is defined in NIST SP 56A 5.8.1.2.1
@@ -759,7 +759,7 @@ def wrap(self, key, bitsize, cek, headers):
759759 else :
760760 alg = headers ['alg' ]
761761
762- epk = JWK .generate (kty = key . key_type , crv = key . key_curve )
762+ epk = JWK .generate (kty = key [ 'kty' ] , crv = key [ 'crv' ] )
763763 dk = self ._derive (epk .get_op_key ('unwrapKey' ),
764764 key .get_op_key ('wrapKey' ),
765765 alg , dk_size , headers )
@@ -835,13 +835,13 @@ class _EdDsa(_RawJWS, JWAAlgorithm):
835835
836836 def sign (self , key , payload ):
837837
838- if key . key_curve in ['Ed25519' , 'Ed448' ]:
838+ if key [ 'crv' ] in ['Ed25519' , 'Ed448' ]:
839839 skey = key .get_op_key ('sign' )
840840 return skey .sign (payload )
841841 raise NotImplementedError
842842
843843 def verify (self , key , payload , signature ):
844- if key . key_curve in ['Ed25519' , 'Ed448' ]:
844+ if key [ 'crv' ] in ['Ed25519' , 'Ed448' ]:
845845 pkey = key .get_op_key ('verify' )
846846 return pkey .verify (signature , payload )
847847 raise NotImplementedError
0 commit comments