Compare commits
2 Commits
e857ff7456
...
07d4f462a3
| Author | SHA1 | Date | |
|---|---|---|---|
| 07d4f462a3 | |||
| 142ea00577 |
@@ -183,20 +183,14 @@ type KeyPair struct {
|
||||
// Validate checks the PublicKey matches the PrivateKey,
|
||||
// and sets the PublicKey if missing
|
||||
func (kp *KeyPair) Validate() error {
|
||||
keyLen := len(kp.PrivateKey)
|
||||
pubLen := len(kp.PublicKey)
|
||||
|
||||
switch {
|
||||
case keyLen != PrivateKeySize:
|
||||
// bad private key
|
||||
case kp.PrivateKey.IsZero():
|
||||
// no private key
|
||||
return ErrInvalidPrivateKey
|
||||
case pubLen == 0:
|
||||
case kp.PublicKey.IsZero():
|
||||
// no public key, set it
|
||||
kp.PublicKey = kp.PrivateKey.Public()
|
||||
return nil
|
||||
case pubLen != PublicKeySize:
|
||||
// bad public key
|
||||
return ErrInvalidPublicKey
|
||||
case !kp.PrivateKey.Public().Equal(kp.PublicKey):
|
||||
// wrong public key
|
||||
return ErrInvalidPublicKey
|
||||
|
||||
Reference in New Issue
Block a user