Encrypt session key to multiple keys in keyring. (#59)
`EncryptSessionKey` now creates encrypted key packet for each valid key in keyring. Co-authored-by: Aron Wussler <aron@wussler.it>
This commit is contained in:
parent
a232124b70
commit
b38f993c25
5 changed files with 33 additions and 11 deletions
|
|
@ -44,6 +44,21 @@ func TestAsymmetricKeyPacket(t *testing.T) {
|
|||
assert.Exactly(t, testSessionKey, outputSymmetricKey)
|
||||
}
|
||||
|
||||
func TestMultipleAsymmetricKeyPacket(t *testing.T) {
|
||||
keyPacket, err := keyRingTestMultiple.EncryptSessionKey(testSessionKey)
|
||||
if err != nil {
|
||||
t.Fatal("Expected no error while generating key packet, got:", err)
|
||||
}
|
||||
|
||||
// Password defined in keyring_test
|
||||
outputSymmetricKey, err := keyRingTestMultiple.DecryptSessionKey(keyPacket)
|
||||
if err != nil {
|
||||
t.Fatal("Expected no error while decrypting key packet, got:", err)
|
||||
}
|
||||
|
||||
assert.Exactly(t, testSessionKey, outputSymmetricKey)
|
||||
}
|
||||
|
||||
func TestSymmetricKeyPacket(t *testing.T) {
|
||||
password := []byte("I like encryption")
|
||||
|
||||
|
|
@ -90,7 +105,8 @@ func TestDataPacketEncryption(t *testing.T) {
|
|||
assert.Exactly(t, message.GetString(), decrypted.GetString())
|
||||
|
||||
// Encrypt session key
|
||||
keyPacket, err := keyRingTestPublic.EncryptSessionKey(testSessionKey)
|
||||
assert.Exactly(t, 3, len(keyRingTestMultiple.entities))
|
||||
keyPacket, err := keyRingTestMultiple.EncryptSessionKey(testSessionKey)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to encrypt key packet, got:", err)
|
||||
}
|
||||
|
|
@ -108,6 +124,9 @@ func TestDataPacketEncryption(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatal("Unable to unarmor pgp message, got:", err)
|
||||
}
|
||||
ids, ok := pgpMessage.getEncryptionKeyIDs()
|
||||
assert.True(t, ok)
|
||||
assert.Exactly(t, 3, len(ids))
|
||||
|
||||
// Test if final decryption succeeds
|
||||
finalMessage, err := keyRingTestPrivate.Decrypt(pgpMessage, nil, 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue