/// <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(); }
/// <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()); }