1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
import pytest
import rnp
@pytest.fixture
def rpgp():
return rnp.Rnp()
def test_generate_rsa(rpgp):
key = rpgp.generate_rsa("test-rsa", "hunter2", 1024, 1024)
assert key.alg() == "RSA"
assert list(key.userids()) == ["test-rsa"]
assert key.bits() == 1024
assert key.is_protected()
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.is_protected()
assert subkey.alg() == "RSA"
assert subkey.bits() == 1024
with pytest.raises(rnp.RnpException):
key.unlock("badpass")
key.unlock("hunter2")
assert not key.is_locked()
def test_generate_rsa_nopass(rpgp):
key = rpgp.generate_rsa("test", None, 1024, 1024)
assert not key.is_locked()
assert not key.is_protected()
def test_generate_dsa_elgamal_nosub(rpgp):
key = rpgp.generate_dsa_elgamal("test-dsa-elg", None, 1024)
assert key.alg() == "DSA"
assert list(key.userids()) == ["test-dsa-elg"]
assert key.bits() == 1024
assert isinstance(key.qbits(), int)
assert not key.is_locked()
assert not key.is_protected()
assert len(list(key.subkeys())) == 0
def test_generate_dsa_elgamal(rpgp):
key = rpgp.generate_dsa_elgamal("test-dsa-elg", None, 1024, 1024)
assert key.alg() == "DSA"
assert list(key.userids()) == ["test-dsa-elg"]
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "ELGAMAL"
assert subkey.bits() == 1024
def test_generate_ecdsa_ecdh(rpgp):
key = rpgp.generate_ecdsa_ecdh("test-ecdsa-ecdh", None, "secp256k1")
assert key.alg() == "ECDSA"
assert list(key.userids()) == ["test-ecdsa-ecdh"]
assert key.curve() == "secp256k1"
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "ECDH"
assert subkey.curve() == "secp256k1"
def test_generate_eddsa_25519(rpgp):
key = rpgp.generate_eddsa_25519("test-eddsa-25519", None)
assert key.alg() == "EDDSA"
assert list(key.userids()) == ["test-eddsa-25519"]
assert key.curve() == "Ed25519"
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "ECDH"
assert subkey.curve() == "Curve25519"
def test_generate_sm2(rpgp):
key = rpgp.generate_sm2("test-sm2", None)
assert key.alg() == "SM2"
assert list(key.userids()) == ["test-sm2"]
assert key.curve() == "SM2 P-256"
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "SM2"
assert subkey.curve() == "SM2 P-256"
def test_generate_type_rsa(rpgp):
key = rpgp.generate("test-rsa", None, "RSA", 1024, None)
assert key.alg() == "RSA"
assert list(key.userids()) == ["test-rsa"]
assert key.bits() == 1024
assert len(list(key.subkeys())) == 0
def test_generate_type_rsa_withsub(rpgp):
key = rpgp.generate("test-rsa", None, "RSA", 1024, None, "RSA", 1024)
assert key.alg() == "RSA"
assert list(key.userids()) == ["test-rsa"]
assert key.bits() == 1024
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "RSA"
assert subkey.bits() == 1024
def test_generate_type_ecdsa_sm2(rpgp):
key = rpgp.generate(
"test-ecdsa-sm2", None, "ECDSA", 0, "brainpoolP256r1", "SM2", 0, None
)
assert key.alg() == "ECDSA"
assert list(key.userids()) == ["test-ecdsa-sm2"]
assert key.curve() == "brainpoolP256r1"
assert len(list(key.subkeys())) == 1
subkey = next(key.subkeys())
assert subkey.alg() == "SM2"
|