@@ -161,7 +161,7 @@ def sign(self, key, payload):
161
161
return ''
162
162
163
163
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 () != '' :
165
165
raise InvalidSignature ('The "none" signature cannot be verified' )
166
166
167
167
@@ -353,8 +353,8 @@ def __init__(self, padfn):
353
353
def _check_key (self , key ):
354
354
if not isinstance (key , JWK ):
355
355
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' ] )
358
358
359
359
# FIXME: get key size and insure > 2048 bits
360
360
def wrap (self , key , bitsize , cek , headers ):
@@ -441,8 +441,8 @@ def __init__(self):
441
441
def _get_key (self , key , op ):
442
442
if not isinstance (key , JWK ):
443
443
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' ] )
446
446
rk = base64url_decode (key .get_op_key (op ))
447
447
if _bitsize (rk ) != self .keysize :
448
448
raise InvalidJWEKeyLength (self .keysize , _bitsize (rk ))
@@ -503,8 +503,8 @@ def __init__(self):
503
503
def _get_key (self , key , op ):
504
504
if not isinstance (key , JWK ):
505
505
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' ] )
508
508
rk = base64url_decode (key .get_op_key (op ))
509
509
if _bitsize (rk ) != self .keysize :
510
510
raise InvalidJWEKeyLength (self .keysize , _bitsize (rk ))
@@ -669,8 +669,8 @@ class _Direct(_RawKeyMgmt, JWAAlgorithm):
669
669
def _check_key (self , key ):
670
670
if not isinstance (key , JWK ):
671
671
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' ] )
674
674
675
675
def wrap (self , key , bitsize , cek , headers ):
676
676
self ._check_key (key )
@@ -706,12 +706,12 @@ def __init__(self):
706
706
def _check_key (self , key ):
707
707
if not isinstance (key , JWK ):
708
708
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' ]:
713
713
raise InvalidJWEKeyType ('X25519 or X448' ,
714
- key . key_curve )
714
+ key [ 'crv' ] )
715
715
716
716
def _derive (self , privkey , pubkey , alg , bitsize , headers ):
717
717
# OtherInfo is defined in NIST SP 56A 5.8.1.2.1
@@ -759,7 +759,7 @@ def wrap(self, key, bitsize, cek, headers):
759
759
else :
760
760
alg = headers ['alg' ]
761
761
762
- epk = JWK .generate (kty = key . key_type , crv = key . key_curve )
762
+ epk = JWK .generate (kty = key [ 'kty' ] , crv = key [ 'crv' ] )
763
763
dk = self ._derive (epk .get_op_key ('unwrapKey' ),
764
764
key .get_op_key ('wrapKey' ),
765
765
alg , dk_size , headers )
@@ -835,13 +835,13 @@ class _EdDsa(_RawJWS, JWAAlgorithm):
835
835
836
836
def sign (self , key , payload ):
837
837
838
- if key . key_curve in ['Ed25519' , 'Ed448' ]:
838
+ if key [ 'crv' ] in ['Ed25519' , 'Ed448' ]:
839
839
skey = key .get_op_key ('sign' )
840
840
return skey .sign (payload )
841
841
raise NotImplementedError
842
842
843
843
def verify (self , key , payload , signature ):
844
- if key . key_curve in ['Ed25519' , 'Ed448' ]:
844
+ if key [ 'crv' ] in ['Ed25519' , 'Ed448' ]:
845
845
pkey = key .get_op_key ('verify' )
846
846
return pkey .verify (signature , payload )
847
847
raise NotImplementedError
0 commit comments