Exemplo n.º 1
0
def test_encrypt():
    assert Cryptographer.encrypt(data, key) == encrypted_data
Exemplo n.º 2
0
def test_decrypt():
    # Valid data should run with no InvalidTag and verify
    assert Cryptographer.decrypt(encrypted_data, key) == data
Exemplo n.º 3
0
def test_encrypt_odd_length_data():
    blob = get_random_value_hex(64)[-1]
    key = get_random_value_hex(32)

    with pytest.raises(InvalidParameter, match="Odd-length"):
        Cryptographer.encrypt(blob, key)
Exemplo n.º 4
0
def test_encrypt_wrong_key_size():
    blob = get_random_value_hex(64)
    key = get_random_value_hex(31)

    with pytest.raises(InvalidParameter, match="32-byte hex value"):
        Cryptographer.encrypt(blob, key)
Exemplo n.º 5
0
def test_check_data_key_format_wrong_key():
    data = get_random_value_hex(64)
    key = get_random_value_hex(33)

    with pytest.raises(InvalidParameter, match="32-byte hex value"):
        Cryptographer.check_data_key_format(data, key)
Exemplo n.º 6
0
def test_check_data_key_format():
    data = get_random_value_hex(64)
    key = get_random_value_hex(32)

    # Correct format does not raise anything
    Cryptographer.check_data_key_format(data, key)
Exemplo n.º 7
0
def test_get_compressed_pk_wrong_type():
    # Passing a value that is not a PublicKey will make it to fail too
    pk = get_random_value_hex(33)

    with pytest.raises(InvalidParameter, match="Wrong value passed as pk"):
        Cryptographer.get_compressed_pk(pk)
Exemplo n.º 8
0
def test_get_compressed_pk_wrong_key():
    # pk should be properly initialized. Initializing from int will cause it to not be recoverable
    pk = PublicKey(0)

    with pytest.raises(InvalidKey, match="PublicKey has invalid initializer"):
        Cryptographer.get_compressed_pk(pk)
Exemplo n.º 9
0
def test_get_compressed_pk():
    sk, pk = generate_keypair()
    compressed_pk = Cryptographer.get_compressed_pk(pk)

    assert isinstance(compressed_pk, str) and len(compressed_pk) == 66
    assert compressed_pk[:2] in ["02", "03"]
Exemplo n.º 10
0
def test_check_data_key_format_wrong_data():
    data = get_random_value_hex(64)[:-1]
    key = get_random_value_hex(32)

    with pytest.raises(InvalidParameter, match="Odd-length"):
        Cryptographer.check_data_key_format(data, key)
Exemplo n.º 11
0
def test_sign_wrong_sk():
    # If a sk is not passed, sign will return None
    for wtype in WRONG_TYPES:
        with pytest.raises(InvalidParameter, match="Wrong value passed as sk"):
            Cryptographer.sign(b"", wtype)