Example #1
0
        public static SqlXml generateKeys(SqlString keySize, SqlString network)
        {
            AsymmetricCipherKeyPair key = BCFunctions.GenerateKeys(Convert.ToInt16(keySize.ToString()));

            ECPublicKeyParameters  publicKeyParam  = (ECPublicKeyParameters)key.Public;
            ECPrivateKeyParameters privateKeyParam = (ECPrivateKeyParameters)key.Private;

            var        privateKey = privateKeyParam.D.ToString();
            BigInteger d          = new BigInteger(privateKey, 10);

            var publicKey = BCFunctions.RetrievePublicKey(keySize.ToString(), d);

            var addressText = "0x" + BitConverter.ToString(BCFunctions.Hash(publicKey, network.ToString())).Replace("-", "");

            var         r      = "<sqroot><D>" + privateKey + "</D><Q>" + publicKey + "</Q><A>" + addressText + "</A></sqroot>";
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(r);
            XmlNodeReader xnr = new XmlNodeReader(xmlDoc);
            SqlXml        rx  = new SqlXml(xnr);

            return(rx);
        }
Example #2
0
        public static SqlString retrievePublicKey(SqlString keySize, SqlString privateKey)
        {
            BigInteger DString = new BigInteger(privateKey.ToString(), 10);

            return(BCFunctions.RetrievePublicKey(keySize.ToString(), DString));
        }