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
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)
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)