コード例 #1
0
def test_can_get_issuer_by_public_key(valid_key_pair):
    doc_did = make_identifier(valid_key_pair.public_bytes)
    key_issuer = Issuer.build(doc_did, '#AnIssuer')
    doc = RegisterDocumentBuilder() \
        .add_public_key_obj(RegisterPublicKey(key_issuer.name, valid_key_pair.public_base58, revoked=False)) \
        .build(key_issuer.did,
               DIDType.TWIN,
               proof='a proof, does not matter here',
               revoked=False)
    issuer = RegisterDocumentHelper.get_issuer_from_public_key(
        doc, valid_key_pair.public_base58)
    assert issuer == key_issuer
コード例 #2
0
    def get_issuer_by_public_key(doc: RegisterDocument, public_base58: str) -> Issuer:
        """
        Get issuer matching the public key from a register document public keys.
        :param doc: register document
        :param public_base58: issuer public key base 58
        :return: corresponding issuer

        :raises:
            IdentityRegisterIssuerNotFoundError: if the issuer matching the public key is not found
        """
        issuer = RegisterDocumentHelper.get_issuer_from_public_key(doc, public_base58)
        if not issuer:
            raise IdentityRegisterIssuerNotFoundError(f'User secrets not allowed to update \'{doc.did}\'')
        return issuer