Fix various keys issues (#117)
* Fix armouring headers for public keys * Fix error for session key decryption failure
This commit is contained in:
parent
27efcb4627
commit
ff54225384
7 changed files with 75 additions and 6 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package crypto
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"testing"
|
||||
|
||||
"github.com/ProtonMail/gopenpgp/v2/constants"
|
||||
|
|
@ -210,3 +211,31 @@ func TestDataPacketEncryptionWithCompression(t *testing.T) {
|
|||
}
|
||||
assert.Exactly(t, message.GetString(), decrypted.GetString())
|
||||
}
|
||||
|
||||
func TestAsymmetricKeyPacketDecryptionFailure(t *testing.T) {
|
||||
passphrase := []byte("passphrase")
|
||||
keyPacket, err := base64.StdEncoding.DecodeString(readTestFile("sessionkey_packet", false))
|
||||
if err != nil {
|
||||
t.Error("Expected no error while decoding key packet, got:" + err.Error())
|
||||
}
|
||||
|
||||
pk, err := NewKeyFromArmored(readTestFile("sessionkey_key", false))
|
||||
if err != nil {
|
||||
t.Error("Expected no error while unarmoring private key, got:" + err.Error())
|
||||
}
|
||||
|
||||
uk, err := pk.Unlock(passphrase)
|
||||
if err != nil {
|
||||
t.Error("Expected no error while unlocking private key, got:" + err.Error())
|
||||
}
|
||||
|
||||
defer uk.ClearPrivateParams()
|
||||
|
||||
ukr, err := NewKeyRing(uk)
|
||||
if err != nil {
|
||||
t.Error("Expected no error while building private keyring, got:" + err.Error())
|
||||
}
|
||||
|
||||
_, err = ukr.DecryptSessionKey(keyPacket)
|
||||
assert.Error(t, err, "gopenpgp: unable to decrypt session key")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue