Exemple #1
0
def test_create_key_pair_raises_validation_error_if_invalid_path(
        valid_bip39_seed_32_bytes):
    with pytest.raises(IdentityValidationError) as err_wpr:
        KeyPairSecrets.build(
            seed=valid_bip39_seed_32_bytes,
            path='invalid path (no starting with Iotics prefix)')
    assert 'Invalid key pair path' in str(err_wpr.value)
Exemple #2
0
def test_create_key_pair_raises_validation_error_if_invalid_seed_with_none_method(
        invalid_seed, error_val, valid_key_pair_path):
    with pytest.raises(IdentityValidationError) as err_wpr:
        KeyPairSecrets.build(seed=invalid_seed,
                             path=valid_key_pair_path,
                             seed_method=SeedMethod.SEED_METHOD_BIP39)
    assert error_val in str(err_wpr.value)
def test_get_private_key_from_key_pair_secrets_raises_validation_error_if_invalid_method(
        valid_key_pair_secrets):
    key_pair_secret = KeyPairSecrets(valid_key_pair_secrets.seed,
                                     valid_key_pair_secrets.path,
                                     seed_method='plop',
                                     password='')
    with pytest.raises(IdentityValidationError):
        KeyPairSecretsHelper.get_private_key(key_pair_secret)
Exemple #4
0
def test_can_create_key_pair_secrets_with_default_bip39_seed_method(
        valid_bip39_seed_32_bytes, valid_key_pair_path):
    password = '******'
    key_pair = KeyPairSecrets.build(seed=valid_bip39_seed_32_bytes,
                                    path=valid_key_pair_path,
                                    password=password)

    assert key_pair.seed == valid_bip39_seed_32_bytes
    assert key_pair.path == valid_key_pair_path
    assert key_pair.seed_method == SeedMethod.SEED_METHOD_BIP39
    assert key_pair.password == password
Exemple #5
0
def test_can_create_key_pair_secrets_with_none_seed_method(
        valid_seed_16_bytes, valid_key_pair_path):
    password = '******'
    key_pair = KeyPairSecrets.build(seed=valid_seed_16_bytes,
                                    path=valid_key_pair_path,
                                    password=password,
                                    seed_method=SeedMethod.SEED_METHOD_NONE)

    assert key_pair.seed == valid_seed_16_bytes
    assert key_pair.path == valid_key_pair_path
    assert key_pair.seed_method == SeedMethod.SEED_METHOD_NONE
    assert key_pair.password == password
Exemple #6
0
def get_valid_delegated_doc_and_deleg_proof(seed: bytes, issuer_name: str,
                                            delegating_doc_id: str,
                                            deleg_name: str):
    secrets = KeyPairSecrets.build(seed, 'iotics/0/something/twindeleg')
    public_base58 = KeyPairSecretsHelper.get_public_key_base58_from_key_pair_secrets(
        secrets)
    public_bytes = base58.b58decode(public_base58)
    doc_id = make_identifier(public_bytes)
    issuer = Issuer.build(doc_id, issuer_name)
    proof = Proof.build(secrets, issuer, content=doc_id.encode())

    deleg_key = get_delegation_register_proof(
        subject_key_pair_secrets=secrets,
        content=delegating_doc_id.encode(),
        p_type=DelegationProofType.DID,
        subject_issuer=Issuer.build(doc_id, issuer_name),
        deleg_key_name=deleg_name)
    delegated_doc = RegisterDocumentBuilder() \
        .add_public_key_obj(RegisterPublicKey(issuer_name, public_base58, revoked=False)) \
        .build(doc_id, DIDType.TWIN, proof=proof.signature, revoked=False)
    return delegated_doc, deleg_key
def get_public_base_58_key() -> str:
    secrets = KeyPairSecrets.build(b'a' * 32, f'iotics/0/something/{uuid4()}')
    key_pair = KeyPairSecretsHelper.get_key_pair(secrets)
    return key_pair.public_base58
def other_key_pair_secrets():
    return KeyPairSecrets.build(b'd2397e8b83cf4a7073a26c1a1cdb6666',
                                'iotics/0/plop/plop')
def valid_key_pair_secrets(valid_bip39_seed):
    return KeyPairSecrets.build(valid_bip39_seed, 'iotics/0/something/user')
Exemple #10
0
def invalid_key_pair_secrets():
    return KeyPairSecrets(seed=b'invalid secret',
                          path='plop',
                          seed_method=SeedMethod.SEED_METHOD_BIP39,
                          password='')
Exemple #11
0
def get_new_document(
        issuer_name: str) -> Tuple[KeyPairSecrets, Issuer, RegisterDocument]:
    secrets = KeyPairSecrets.build(new_seed(), 'iotics/0/something')
    doc = get_valid_document_from_secret(secrets, issuer_name)
    return secrets, Issuer.build(doc.did, issuer_name), doc
Exemple #12
0
def get_valid_document(seed: bytes,
                       issuer_name: str,
                       controller: Issuer = None):
    secrets = KeyPairSecrets.build(seed, 'iotics/0/something/twin')
    return get_valid_document_from_secret(secrets, issuer_name, controller)
Exemple #13
0
def test_create_key_pair_raises_validation_error_if_invalid_seed_with_bip39_method(
        invalid_seed, error_val, valid_key_pair_path):
    with pytest.raises(IdentityValidationError) as err_wpr:
        KeyPairSecrets.build(seed=invalid_seed, path=valid_key_pair_path)
    assert error_val in str(err_wpr.value)