Skip to content

Commit 96471cd

Browse files
committed
fix: make function for generating key
1 parent 2070685 commit 96471cd

1 file changed

Lines changed: 21 additions & 31 deletions

File tree

pkg/devspace/services/ssh/keys.go

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,39 +35,40 @@ func init() {
3535

3636
var keyLock sync.Mutex
3737

38-
func MakeHostKey() (string, error) {
38+
func generatePrivateKey() (*ecdsa.PrivateKey, string, error) {
3939
privateKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
4040
if err != nil {
41-
return "", err
41+
return nil, "", err
4242
}
4343

4444
// generate and write private key as PEM
45-
var privKeyBuf strings.Builder
46-
privateKeyPEM, err := pemBlock(privateKey)
45+
var privateKeyBuf strings.Builder
46+
b, err := x509.MarshalPKCS8PrivateKey(privateKey)
4747
if err != nil {
48-
return "", err
48+
return nil, "", err
4949
}
50-
51-
if err := pem.Encode(&privKeyBuf, privateKeyPEM); err != nil {
52-
return "", err
50+
privateKeyPEM := &pem.Block{
51+
Type: "PRIVATE KEY",
52+
Bytes: b,
53+
}
54+
if err := pem.Encode(&privateKeyBuf, privateKeyPEM); err != nil {
55+
return nil, "", err
5356
}
5457

55-
return privKeyBuf.String(), nil
58+
return privateKey, privateKeyBuf.String(), nil
5659
}
5760

58-
func MakeSSHKeyPair() (string, string, error) {
59-
privateKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
60-
if err != nil {
61-
return "", "", err
62-
}
63-
// generate and write private key as PEM
64-
var privKeyBuf strings.Builder
65-
privateKeyPEM, err := pemBlock(privateKey)
61+
func MakeHostKey() (string, error) {
62+
_, privKeyStr, err := generatePrivateKey()
6663
if err != nil {
67-
return "", "", err
64+
return "", err
6865
}
66+
return privKeyStr, nil
67+
}
6968

70-
if err := pem.Encode(&privKeyBuf, privateKeyPEM); err != nil {
69+
func MakeSSHKeyPair() (string, string, error) {
70+
privateKey, privKeyStr, err := generatePrivateKey()
71+
if err != nil {
7172
return "", "", err
7273
}
7374

@@ -79,7 +80,7 @@ func MakeSSHKeyPair() (string, string, error) {
7980

8081
var pubKeyBuf strings.Builder
8182
pubKeyBuf.Write(ssh.MarshalAuthorizedKey(pub))
82-
return pubKeyBuf.String(), privKeyBuf.String(), nil
83+
return pubKeyBuf.String(), privKeyStr, nil
8384
}
8485

8586
func getHostKey() (string, error) {
@@ -156,14 +157,3 @@ func getPublicKey() (string, error) {
156157

157158
return base64.StdEncoding.EncodeToString(out), nil
158159
}
159-
160-
func pemBlock(privateKey *ecdsa.PrivateKey) (*pem.Block, error) {
161-
if b, err := x509.MarshalPKCS8PrivateKey(privateKey); err == nil {
162-
return &pem.Block{
163-
Type: "PRIVATE KEY",
164-
Bytes: b,
165-
}, nil
166-
} else {
167-
return nil, err
168-
}
169-
}

0 commit comments

Comments
 (0)