func (priv *PrivateKey) GetPublicKey() *PublicKey {
	if priv.PublicKey.X == nil {
		priv.PublicKey.Curve = elliptic.P256()
		priv.PublicKey.X, priv.PublicKey.Y = priv.PublicKey.Curve.ScalarBaseMult(priv.D.Bytes())
	}
	return (*PublicKey)(&priv.PublicKey)
	//return PublicKey(priv.PublicKey)
}
// GetPublicKey returns the associated PublicKey for this privatekey,
// If the key is missing then one is generated.
GetPublicKey returns the associated PublicKey for this privatekey,
If the key is missing then one is generated.
// GetPublicKey returns the associated PublicKey for this privatekey // If the key is missing then one is generated .
func (priv *PrivateKey) GetPublicKey() *PublicKey {
	if priv.PublicKey.X == nil {
		priv.PublicKey.Curve = elliptic.P256()
		priv.PublicKey.X, priv.PublicKey.Y = priv.PublicKey.Curve.ScalarBaseMult(priv.D.Bytes())
	}
	return (*PublicKey)(&priv.PublicKey)
}
func ( priv * PrivateKey ) GetPublicKey ( ) * PublicKey { if priv . PublicKey . X == nil { priv . PublicKey . Curve = elliptic . P256 ( ) priv . PublicKey . X , priv . PublicKey . Y = priv . PublicKey . Curve . ScalarBaseMult ( priv . D . Bytes ( ) ) } return ( * PublicKey ) ( & priv . PublicKey ) }
GetPublicKey returns the associated PublicKey for this privatekey,
If the key is missing then one is generated.
GetPublicKey returns the associated PublicKey for this privatekey If the key is missing then one is generated .
//return PublicKey(priv.PublicKey)