def _add_key_to_keyjar(self, pkey, owner=''): kb = keyio.KeyBundle() priv_key = RSA.importKey(pkey) key = RSAKey().load_key(priv_key) key.use = "sig" kb.append(key) self.keyjar.add_kb(owner, kb)
def keybundle_from_local_file(filename, typ, usage, kid): if typ.upper() == "RSA": kb = KeyBundle() k = RSAKey(kid=kid) k.load(filename) k.use = usage[0] kb.append(k) for use in usage[1:]: _k = RSAKey(kid=kid + "1") _k.use = use _k.load_key(k.key) kb.append(_k) elif typ.lower() == "jwk": kb = KeyBundle(source=filename, fileformat="jwk", keyusage=usage) else: raise UnknownKeyType("Unsupported key type") return kb
def keybundle_from_local_file(filename, typ, usage, kid): if typ.upper() == "RSA": kb = KeyBundle() k = RSAKey(kid=kid) k.load(filename) k.use = usage[0] kb.append(k) for use in usage[1:]: _k = RSAKey(kid=kid + "1") _k.use = use _k.load_key(k.key) kb.append(_k) elif typ.lower() == "jwk": kb = KeyBundle(source=filename, fileformat="jwk", keyusage=usage) else: raise UnknownKeyType("Unsupported key type") return kb
def keybundle_from_local_file(filename, typ, usage): if typ.upper() == "RSA": kb = KeyBundle() k = RSAKey() k.load(filename) k.use = usage[0] kb.append(k) for use in usage[1:]: _k = RSAKey() _k.use = use _k.key = k.key kb.append(_k) elif typ.lower() == "jwk": kb = KeyBundle(source=filename, fileformat="jwk", keyusage=usage) else: raise Exception("Unsupported key type") return kb
def keybundle_from_local_file(filename, typ, usage): if typ.upper() == "RSA": kb = KeyBundle() k = RSAKey() k.load(filename) k.use = usage[0] kb.append(k) for use in usage[1:]: _k = RSAKey() _k.use = use _k.key = k.key kb.append(_k) elif typ.lower() == "jwk": kb = KeyBundle(source=filename, fileformat="jwk", keyusage=usage) else: raise Exception("Unsupported key type") return kb
def do_local_der(self, filename, keytype, keyusage): # This is only for RSA keys _bkey = rsa_load(filename) if not keyusage: keyusage = ["enc", "sig"] for use in keyusage: _key = RSAKey().load_key(_bkey) _key.use = use self._keys.append(_key)
def do_local_der(self, filename, keytype, keyusage): # This is only for RSA keys _bkey = rsa_load(filename) if not keyusage: keyusage = ["enc", "sig"] for use in keyusage: _key = RSAKey().load_key(_bkey) _key.use = use self._keys.append(_key)
def assert_registstration_req(self, request, sign_key_str): split_path = request.path_url.lstrip("/").split("/") assert len(split_path) == 2 jwks = split_path[1] # Verify signature public_key = import_rsa_key(private_to_public_key(sign_key_str)) sign_key = RSAKey().load_key(public_key) sign_key.use = "sig" _jw = jws.factory(jwks) _jw.verify_compact(jwks, [sign_key]) # Verify JWT _jwt = JWT().unpack(jwks) consent_args = _jwt.payload() assert "attr" in consent_args assert "redirect_endpoint" in consent_args assert "id" in consent_args
def assert_registstration_req(self, request, sign_key_str): split_path = request.path_url.lstrip("/").split("/") assert len(split_path) == 2 jwks = split_path[1] # Verify signature public_key = import_rsa_key(private_to_public_key(sign_key_str)) sign_key = RSAKey().load_key(public_key) sign_key.use = "sig" _jw = jws.factory(jwks) _jw.verify_compact(jwks, [sign_key]) # Verify JWT _jwt = JWT().unpack(jwks) consent_args = _jwt.payload() assert "attr" in consent_args assert "redirect_endpoint" in consent_args assert "id" in consent_args
def do_local_der(self, filename, keytype, keyusage=None): """ Load a DER encoded file amd create a key from it. :param filename: :param keytype: Presently only 'rsa' supported :param keyusage: encryption ('enc') or signing ('sig') or both """ _bkey = rsa_load(filename) if keytype.lower() != 'rsa': raise NotImplemented('No support for DER decoding of that key type') if not keyusage: keyusage = ["enc", "sig"] else: keyusage = harmonize_usage(keyusage) for use in keyusage: _key = RSAKey().load_key(_bkey) _key.use = use self._keys.append(_key) self.last_updated = time.time()