<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.0" />

Org.BouncyCastle.Crypto.Signers.SM2Signer

public class SM2Signer : ISigner
The SM2 Digital Signature algorithm.
namespace Org.BouncyCastle.Crypto.Signers { public class SM2Signer : ISigner { public virtual string AlgorithmName { get; } public SM2Signer(); public SM2Signer(IDigest digest); public SM2Signer(IDsaEncoding encoding); public SM2Signer(IDsaEncoding encoding, IDigest digest); public virtual void Init(bool forSigning, ICipherParameters parameters); public virtual void Update(byte b); public virtual void BlockUpdate(byte[] input, int inOff, int inLen); public virtual int GetMaxSignatureSize(); public virtual byte[] GenerateSignature(); public virtual bool VerifySignature(byte[] signature); public virtual void Reset(); protected virtual BigInteger CalculateE(BigInteger n, byte[] message); protected virtual ECMultiplier CreateBasePointMultiplier(); } }