crypto/secp256r1: reject the reference pubKey coordinates

This commit is contained in:
Ulaş Erdoğan 2023-09-24 04:54:00 +03:00
parent 21f4932c9b
commit 98f10b0d5e
1 changed files with 5 additions and 0 deletions

View File

@ -13,6 +13,11 @@ func newPublicKey(x, y *big.Int) *ecdsa.PublicKey {
return nil return nil
} }
// Check if the given coordinates are the reference point (infinity)
if x.Sign() == 0 && y.Sign() == 0 {
return nil
}
return &ecdsa.PublicKey{ return &ecdsa.PublicKey{
Curve: elliptic.P256(), Curve: elliptic.P256(),
X: x, X: x,