aboutsummaryrefslogtreecommitdiff
path: root/ssh/keys_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'ssh/keys_test.go')
-rw-r--r--ssh/keys_test.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/ssh/keys_test.go b/ssh/keys_test.go
index 76d2338..3e18488 100644
--- a/ssh/keys_test.go
+++ b/ssh/keys_test.go
@@ -16,6 +16,7 @@ import (
"encoding/base64"
"encoding/hex"
"encoding/pem"
+ "errors"
"fmt"
"io"
"reflect"
@@ -221,6 +222,16 @@ func TestParseEncryptedPrivateKeysWithPassphrase(t *testing.T) {
}
}
+func TestParseEncryptedPrivateKeysWithIncorrectPassphrase(t *testing.T) {
+ pem := testdata.PEMEncryptedKeys[0].PEMBytes
+ for i := 0; i < 4096; i++ {
+ _, err := ParseRawPrivateKeyWithPassphrase(pem, []byte(fmt.Sprintf("%d", i)))
+ if !errors.Is(err, x509.IncorrectPasswordError) {
+ t.Fatalf("expected error: %v, got: %v", x509.IncorrectPasswordError, err)
+ }
+ }
+}
+
func TestParseDSA(t *testing.T) {
// We actually exercise the ParsePrivateKey codepath here, as opposed to
// using the ParseRawPrivateKey+NewSignerFromKey path that testdata_test.go