From 43a9f38592195b39128bfdfd2c6fc5dbc6fb2ee0 Mon Sep 17 00:00:00 2001 From: Uli Heller Date: Fri, 19 Nov 2021 13:10:30 +0100 Subject: [PATCH] Fixed handling of ssh pubkey files --- sign/ssh.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sign/ssh.go b/sign/ssh.go index 07655f5..418622a 100644 --- a/sign/ssh.go +++ b/sign/ssh.go @@ -26,6 +26,7 @@ import ( "encoding/binary" "encoding/pem" "fmt" + "regexp" "strings" "github.com/dchest/bcrypt_pbkdf" @@ -56,12 +57,13 @@ func parseSSHPrivateKey(data []byte, getpw func() ([]byte, error)) (*PrivateKey, } func parseSSHPublicKey(in []byte) (*PublicKey, error) { - v := bytes.Split(in, []byte(" \t")) + splitter := regexp.MustCompile("[ \\t]+"); + v := splitter.Split(string(in), -1); if len(v) != 3 { return nil, ErrBadPublicKey } - return parseEncPubKey(v[1], string(v[2])) + return parseEncPubKey([]byte(v[1]), v[2]) } // parse a wire encoded public key