Exemple #1
0
        GenerateDsaKeyPair(Org.BouncyCastle.Security.SecureRandom random, int keystrength)
        {
            Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator keypairGen = new Org.BouncyCastle.Crypto.Generators.DsaKeyPairGenerator();

            Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator pGen = new Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator();
            pGen.Init(keystrength, 80, random); //TODO:
            Org.BouncyCastle.Crypto.Parameters.DsaParameters parameters            = pGen.GenerateParameters();
            Org.BouncyCastle.Crypto.Parameters.DsaKeyGenerationParameters genParam = new Org.BouncyCastle.Crypto.Parameters.DsaKeyGenerationParameters(random, parameters);
            keypairGen.Init(genParam);

            Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair kp = keypairGen.GenerateKeyPair();
            return(kp);
        }
        } // End Function GenerateRsaKeyPair

        public static Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair GenerateDsaKeyPair(
            int length
            , Org.BouncyCastle.Security.SecureRandom secureRandom
            )
        {
            Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator paramgen =
                new Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator();
            paramgen.Init(length, 100, secureRandom);

            Org.BouncyCastle.Crypto.Parameters.DsaKeyGenerationParameters param = new Org.BouncyCastle.Crypto.Parameters.DsaKeyGenerationParameters(secureRandom, paramgen.GenerateParameters());

            Org.BouncyCastle.Crypto.Generators.DsaKeyPairGenerator keyGenerator =
                new Org.BouncyCastle.Crypto.Generators.DsaKeyPairGenerator();
            keyGenerator.Init(param);

            return(keyGenerator.GenerateKeyPair());
        } // End Function GenerateDsaKeyPair