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
|
import rnp
def test_load_keys():
rpgp = rnp.Rnp()
assert rpgp.public_key_count() == 0
assert rpgp.secret_key_count() == 0
rpgp.load_keys(
rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG", False, True
)
assert rpgp.public_key_count() == 0
assert rpgp.secret_key_count() == 0
rpgp.load_keys(
rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG", True, False
)
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 0
rpgp.load_keys(
rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG", True, False
)
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 0
rpgp.load_keys(
rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG", False, True
)
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 7
def test_load_keys_public_from_secret():
rpgp = rnp.Rnp()
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG")
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 7
def test_save_keys():
rpgp = rnp.Rnp()
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG")
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG")
# public
outp = rnp.Output.to_bytes()
rpgp.save_keys(outp, "GPG", True, False)
assert {
pkt["header"]["tag.str"]
for pkt in rnp.parse(rnp.Input.from_bytes(outp.bytes()))
} == {"Public Key", "Public Subkey", "User ID", "Signature"}
# secret
outp = rnp.Output.to_bytes()
rpgp.save_keys(outp, "GPG", False, True)
assert {
pkt["header"]["tag.str"]
for pkt in rnp.parse(rnp.Input.from_bytes(outp.bytes()))
} == {"Secret Key", "Secret Subkey", "User ID", "Signature"}
def test_unload_keys():
# public
rpgp = rnp.Rnp()
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG")
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG")
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 7
rpgp.unload_keys(True, False)
assert rpgp.public_key_count() == 0
assert rpgp.secret_key_count() == 7
# secret
rpgp = rnp.Rnp()
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG")
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG")
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 7
rpgp.unload_keys(False, True)
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 0
# both
rpgp = rnp.Rnp()
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/pubring.gpg"), "GPG")
rpgp.load_keys(rnp.Input.from_path("tests/data/keyrings/gpg/secring.gpg"), "GPG")
assert rpgp.public_key_count() == 7
assert rpgp.secret_key_count() == 7
rpgp.unload_keys()
assert rpgp.public_key_count() == 0
assert rpgp.secret_key_count() == 0
|