strinifyPublicKeyFromPrivatekey function

String strinifyPublicKeyFromPrivatekey(
  1. PrivateKey pk
)

Implementation

String strinifyPublicKeyFromPrivatekey(PrivateKey pk) {
  final privateKey = pk as ECPrivateKey;
  var keyParams = ECCurve_sm2();
  ECPoint? Q = scalar_multiple(privateKey.d!, keyParams.G);
  if (Q == null) {
    throw Exception("Failed to generate public key from private key");
  }
  final keypair = AsymmetricKeyPair(
      ECPublicKey(Q, keyParams), ECPrivateKey(privateKey.d, keyParams));
  return strinifyPublicKey(keypair.publicKey);
}