예제 #1
0
 def _get_gen_size(self, params, default_size=None):
     size = default_size
     if 'size' in params:
         size = params.pop('size')
     elif 'alg' in params:
         try:
             from jwcrypto.jwa import JWA
             alg = JWA.instantiate_alg(params['alg'])
         except KeyError:
             raise ValueError("Invalid 'alg' parameter")
         size = alg.keysize
     return size
예제 #2
0
 def _jwa_enc(self, name):
     allowed = self._allowed_algs or default_allowed_algs
     if name not in allowed:
         raise InvalidJWEOperation('Algorithm not allowed')
     return JWA.encryption_alg(name)
예제 #3
0
 def _jwa(self, name, allowed):
     if allowed is None:
         allowed = default_allowed_algs
     if name not in allowed:
         raise InvalidJWSOperation('Algorithm not allowed')
     return JWA.signing_alg(name)