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