From 5904ff3d703b8461fc7e06a90f5c264210cbc8b3 Mon Sep 17 00:00:00 2001 From: Aron Wussler Date: Fri, 30 Jul 2021 12:55:45 +0200 Subject: [PATCH] Add static malformed key test --- crypto/key_test.go | 11 +++++++++++ crypto/testdata/key_mismatching_eddsa_key | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 crypto/testdata/key_mismatching_eddsa_key diff --git a/crypto/key_test.go b/crypto/key_test.go index e2c2808..1130e7f 100644 --- a/crypto/key_test.go +++ b/crypto/key_test.go @@ -415,3 +415,14 @@ func TestKeyCapabilities(t *testing.T) { assert.True(t, publicKey.CanVerify()) assert.True(t, publicKey.CanEncrypt()) } + +func TestUnlockMismatchingKey(t *testing.T) { + privateKey, err := NewKeyFromArmored(readTestFile("key_mismatching_eddsa_key", false)) + if err != nil { + t.Fatal("Expected no error while unarmoring private key, got:", err) + } + + if _, err = privateKey.Unlock([]byte("123")); err == nil { + t.Fatalf("Mismatching private key was not detected") + } +} diff --git a/crypto/testdata/key_mismatching_eddsa_key b/crypto/testdata/key_mismatching_eddsa_key new file mode 100644 index 0000000..e931d2a --- /dev/null +++ b/crypto/testdata/key_mismatching_eddsa_key @@ -0,0 +1,18 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: OpenPGP.js v4.10.4 +Comment: https://openpgpjs.org + +xYYEX6FzhhYJKwYBBAHaRw8BAQdA0Yeb41B5BRI25Dq0z7oRCcImRQfT+WcJ +HLaHpd6baGT+CQMI/6uWP8YxbIIAJDKhBYD+D8yTJW6JBtnOISKzPSbTNxOP +aQEQz1YPMhZhTBIWZFNXo614n3C7Ak1Q73bv8zsJq0EmRJPNkFXmY1S/B0Lm +GM0SQm9iIDxpbmZvQGJvYi5jb20+wngEEBYKACAFAl+hc4YGCwkHCAMCBBUI +CgIEFgIBAAIZAQIbAwIeAQAKCRBeNKXxFWm5mDjwAQC6vYacL9/oBZ3Ev3DR +l9a//92L8hYrx3Le3pRZhJmDqAEAoz5fPGxQEXdgzI14i7ZdNsRRzyGQh3nL +jnGeUJx7aQnHiwRfoXOGEgorBgEEAZdVAQUBAQdA2yQoAO2pqLJe48Wazz6+ +PSxyh5EXGQZ9yy/ZO2y8Rl8DAQgH/gkDCJE4VlUHrTStAIYCzED5f7BXphR0 +jqbMnwTxXxFsI7H9kUykmOPjzYayTLkp/Pw5OMzxjwVKD6+zO4YKtd9EuhEH +pD32k72LbNPYE/j3p77CYQQYFggACQUCX6FzhgIbDAAKCRBeNKXxFWm5mJa3 +AQDZA/yx5SotHacjZmJir/ly7aPdPUv4krqx86BHbl/2HAD/YSPzjDxBYUDA +kWK2+FnnoMBGL6PIKIHlxONRrDVknwQ= +=IsER +-----END PGP PRIVATE KEY BLOCK----- \ No newline at end of file