30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
"""Integration tests to verify keygen resolves passphrases from keychain."""
|
|
from certctl import keygen
|
|
|
|
|
|
def test_generate_rsa_using_keychain(monkeypatch):
|
|
# Return a known passphrase from keychain and ensure result is encrypted
|
|
monkeypatch.setattr(keygen, "_openssl_bin", lambda: "/usr/bin/openssl")
|
|
|
|
def fake_keychain_get(service):
|
|
assert service == "svc1"
|
|
return "from-keychain"
|
|
|
|
monkeypatch.setattr("certctl.storage.keychain_get", fake_keychain_get)
|
|
|
|
pem = keygen.generate_rsa_key(bits=1024, passphrase=None, keychain_service="svc1")
|
|
assert "ENCRYPTED" in pem or "ENCRYPTED PRIVATE KEY" in pem
|
|
|
|
|
|
def test_generate_ec_using_keychain(monkeypatch):
|
|
monkeypatch.setattr(keygen, "_openssl_bin", lambda: "/usr/bin/openssl")
|
|
|
|
def fake_keychain_get(service):
|
|
assert service == "svc2"
|
|
return "from-keychain"
|
|
|
|
monkeypatch.setattr("certctl.storage.keychain_get", fake_keychain_get)
|
|
|
|
pem = keygen.generate_ec_key(curve="prime256v1", passphrase=None, keychain_service="svc2")
|
|
assert "ENCRYPTED" in pem or "ENCRYPTED PRIVATE KEY" in pem
|