Revize 19d25d2f
Přidáno uživatelem Stanislav Král před asi 4 roky(ů)
src/services/key_service.py | ||
---|---|---|
61 | 61 |
:return: `True` when the deletion was successful. `False` in other case |
62 | 62 |
""" |
63 | 63 |
return self.private_key_repository.delete(unique_id) |
64 |
|
|
65 |
def get_public_key(self, private_key: PrivateKey): |
|
66 |
""" |
|
67 |
Extracts a public key from the given private key |
|
68 |
:param private_key: private key from which a public key should be extracted |
|
69 |
:return: a string containing the extracted public key in PEM format |
|
70 |
""" |
|
71 |
return self.cryptography_service.extract_public_key(private_key.private_key, private_key.password) |
tests/integration_tests/services/private_key_service_test.py | ||
---|---|---|
36 | 36 |
keys = private_key_service_unique.get_keys([pk_1.private_key_id, pk_2.private_key_id]) |
37 | 37 |
assert [pk_1.private_key_id, pk_2.private_key_id] == [keys[0].private_key_id, |
38 | 38 |
keys[1].private_key_id] |
39 |
|
|
40 |
|
|
41 |
def test_extract_public_key_from_private_key(private_key_service): |
|
42 |
private_key = private_key_service.create_new_key() |
|
43 |
|
|
44 |
public_key = private_key_service.get_public_key(private_key) |
|
45 |
|
|
46 |
# TODO improve testing whether public key matches the private key |
|
47 |
assert "-----BEGIN PUBLIC KEY-----" in public_key |
|
48 |
|
|
49 |
|
|
50 |
def test_extract_public_key_from_private_key_passphrase(private_key_service): |
|
51 |
passphrase = "foobar" |
|
52 |
private_key = private_key_service.create_new_key(passphrase) |
|
53 |
|
|
54 |
public_key = private_key_service.get_public_key(private_key) |
|
55 |
|
|
56 |
# TODO improve testing whether public key matches the private key |
|
57 |
assert "-----BEGIN PUBLIC KEY-----" in public_key |
Také k dispozici: Unified diff
Re #8573 - Added get_public_key method to KeyService that extracts a public key from a private key