Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 19d25d2f

Přidáno uživatelem Stanislav Král před asi 4 roky(ů)

Re #8573 - Added get_public_key method to KeyService that extracts a public key from a private key

Zobrazit rozdíly:

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