/// <summary>
        /// Create a key pair for by using a given curve
        /// </summary>
        /// <param name="curveName">the curve to use for key creation</param>
        public void CreateKeyPair(string curveName)
        {
            var oid = Gost3410NamedParameters.GetOid(curveName);
            var keyGenerationParameters = new Gost3410KeyGenerationParameters(new SecureRandom(), oid);
            var keyGenerator            = new Gost3410KeyPairGenerator();

            keyGenerator.Init(keyGenerationParameters);
            keyPair = keyGenerator.GenerateKeyPair();
        }
示例#2
0
        /// <summary>
        /// Generate key pair.
        /// </summary>
        /// <returns></returns>
        public override AsymmetricCipherKeyPair GenerateKeyPair()
        {
            Gost3410ParametersGenerator generator2 = new Gost3410ParametersGenerator();

            generator2.Init(_keySize, _procedure, Common.ThreadSecureRandom.Value);
            Gost3410Parameters                parameters2 = generator2.GenerateParameters();
            KeyGenerationParameters           parameters  = new Gost3410KeyGenerationParameters(Common.ThreadSecureRandom.Value, parameters2);
            IAsymmetricCipherKeyPairGenerator generator   = new Gost3410KeyPairGenerator();

            generator.Init(parameters);
            return(generator.GenerateKeyPair());
        }