示例#1
0
        private void GenerateKeysBtn_Click(object sender, RoutedEventArgs e)
        {
            var sm2 = new SM2Utils();
            AsymmetricCipherKeyPair key    = sm2.pairGenerator.GenerateKeyPair();
            ECPrivateKeyParameters  ecpriv = (ECPrivateKeyParameters)key.Private;
            ECPublicKeyParameters   ecpub  = (ECPublicKeyParameters)key.Public;
            var priv = ecpriv.D;
            var pub  = ecpub.Q;

            var publicKeyStr = Utils.ByteArrayToHexString(pub.GetEncoded());

            //publicKey.Text = publicKeyStr + Environment.NewLine + "publicKey:Length:" + publicKeyStr.Length;
            publicKey.Text = publicKeyStr;

            var privateKeyStr = Utils.ByteArrayToHexString(priv.ToByteArray());

            //privateKey.Text = privateKeyStr + Environment.NewLine + "privateKey:Length:" + privateKeyStr.Length;
            privateKey.Text   = privateKeyStr;
            tbPrivateKey.Text = privateKey.Text;
            tbPublicKey.Text  = publicKey.Text;

            m_Logger.Debug("公钥: " + Encoding.ASCII.GetString(Hex.Encode(pub.GetEncoded())).ToUpper());
            m_Logger.Debug("私钥: " + Encoding.ASCII.GetString(Hex.Encode(priv.ToByteArray())).ToUpper());
        }
示例#2
0
 public MainWindow()
 {
     InitializeComponent();
     sm2Utils = new SM2Utils();
 }