code: func validateECPublicKey(curve elliptic.Curve, x, y *big.Int) bool {
  	if x.Sign() == 0 && y.Sign() == 0 {
  		return false
  	}
  
  	if x.Cmp(curve.Params().P) >= 0 {
  		return false
  	}
  
  	if y.Cmp(curve.Params().P) >= 0 {
  		return false
  	}
  
  	if !curve.IsOnCurve(x, y) {
  		return false
  	}
  
  	// We don't check if N * PubKey == 0, since
  	//
  	// - the NIST curves have cofactor = 1, so this is implicit.
  	// (We don't foresee an implementation that supports non NIST
  	// curves)
  	//
  	// - for ephemeral keys, we don't need to worry about small
  	// subgroup attacks.
  	return true
  }
docs: // validateECPublicKey checks that the point is a valid public key for
  // the given curve. See [SEC1], 3.2.2