|
|
|
|
@ -237,49 +237,57 @@ func TestKeyPairFromPrivateKey(t *testing.T) {
|
|
|
|
|
pemRsa1024: {
|
|
|
|
|
t: Rsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 1024,
|
|
|
|
|
bits: 1024,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemRsa2048: {
|
|
|
|
|
t: Rsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 2048,
|
|
|
|
|
bits: 2048,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemOpenSshRsa1024: {
|
|
|
|
|
t: Rsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 1024,
|
|
|
|
|
bits: 1024,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemOpenSshRsa2048: {
|
|
|
|
|
t: Rsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 2048,
|
|
|
|
|
bits: 2048,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemDsa: {
|
|
|
|
|
t: Dsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 1024,
|
|
|
|
|
bits: 1024,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemEcdsa384: {
|
|
|
|
|
t: Ecdsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 384,
|
|
|
|
|
bits: 384,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemEcdsa521: {
|
|
|
|
|
t: Ecdsa,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 521,
|
|
|
|
|
bits: 521,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
pemOpenSshEd25519: {
|
|
|
|
|
t: Ed25519,
|
|
|
|
|
d: expectedData{
|
|
|
|
|
bits: 256,
|
|
|
|
|
bits: 256,
|
|
|
|
|
comment: uuid.TimeOrderedUUID(),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
@ -287,6 +295,7 @@ func TestKeyPairFromPrivateKey(t *testing.T) {
|
|
|
|
|
for rawPrivateKey, expected := range m {
|
|
|
|
|
kp, err := KeyPairFromPrivateKey(FromPrivateKeyConfig{
|
|
|
|
|
RawPrivateKeyPemBlock: []byte(rawPrivateKey),
|
|
|
|
|
Comment: expected.d.comment,
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err.Error())
|
|
|
|
|
@ -340,6 +349,11 @@ func verifyEcdsaKeyPair(kp KeyPair, e expectedData) error {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if kp.Comment != e.comment {
|
|
|
|
|
return fmt.Errorf("key pair comment should be:\n'%s'\nGot:\n'%s'",
|
|
|
|
|
e.comment, kp.Comment)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
expectedBytes := bytes.TrimSuffix(gossh.MarshalAuthorizedKey(publicKey), []byte("\n"))
|
|
|
|
|
if len(e.comment) > 0 {
|
|
|
|
|
expectedBytes = append(expectedBytes, ' ')
|
|
|
|
|
@ -374,6 +388,11 @@ func verifyRsaKeyPair(kp KeyPair, e expectedData) error {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if kp.Comment != e.comment {
|
|
|
|
|
return fmt.Errorf("key pair comment should be:\n'%s'\nGot:\n'%s'",
|
|
|
|
|
e.comment, kp.Comment)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
expectedBytes := bytes.TrimSuffix(gossh.MarshalAuthorizedKey(publicKey), []byte("\n"))
|
|
|
|
|
if len(e.comment) > 0 {
|
|
|
|
|
expectedBytes = append(expectedBytes, ' ')
|
|
|
|
|
@ -404,6 +423,11 @@ func verifyDsaKeyPair(kp KeyPair, e fromPrivateExpectedData) error {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if kp.Comment != e.d.comment {
|
|
|
|
|
return fmt.Errorf("key pair comment should be:\n'%s'\nGot:\n'%s'",
|
|
|
|
|
e.d.comment, kp.Comment)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
expectedBytes := bytes.TrimSuffix(gossh.MarshalAuthorizedKey(publicKey), []byte("\n"))
|
|
|
|
|
if len(e.d.comment) > 0 {
|
|
|
|
|
expectedBytes = append(expectedBytes, ' ')
|
|
|
|
|
@ -434,6 +458,11 @@ func verifyEd25519KeyPair(kp KeyPair, e fromPrivateExpectedData) error {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if kp.Comment != e.d.comment {
|
|
|
|
|
return fmt.Errorf("key pair comment should be:\n'%s'\nGot:\n'%s'",
|
|
|
|
|
e.d.comment, kp.Comment)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
expectedBytes := bytes.TrimSuffix(gossh.MarshalAuthorizedKey(publicKey), []byte("\n"))
|
|
|
|
|
if len(e.d.comment) > 0 {
|
|
|
|
|
expectedBytes = append(expectedBytes, ' ')
|
|
|
|
|
|