/// <summary> /// Generate a new key pair. /// </summary> public PrivatePublicKeyPair GeneratePrivatePublicKeys() { try { // Create a new key pair on target Cryptography Service Provider (CSP). var cspParams = new CspParameters { ProviderType = (int)_providerType, Flags = CspProviderFlags.UseArchivableKey, KeyNumber = (int)KeyNumber.Exchange, //ProviderName? }; var rsaProvider = new RSACryptoServiceProvider(cspParams); string publicKey = rsaProvider.ToXmlString2(false); string privateKey = rsaProvider.ToXmlString2(true); var privatePublicKeyPair = new PrivatePublicKeyPair(privateKey, publicKey); return(privatePublicKeyPair); } catch (Exception ex) { Console.WriteLine("Exception generating a new key pair! Details:"); Console.WriteLine(ex.ToString()); throw new GeneratePrivatePublicKeysException(ex.ToString()); } }
public void GeneratePrivatePublicKeys_PROV_RSA_AES_KeysGenerated() { _rsaCryptoProvider = new RsaCrypoProvider(ProviderType.PROV_RSA_AES); _keyPair = _rsaCryptoProvider.GeneratePrivatePublicKeys(); _keyPair.PrivateKey.Should().NotBeNullOrWhiteSpace(); _keyPair.PublicKey.Should().NotBeNullOrWhiteSpace(); _keyPair.PrivateKey.Should().NotBe(_keyPair.PublicKey); }
public void GenerateKeys(GenerateKeyArgs args) { IFileHandler publicKeyFileHandler = new FileHandler(args.PublicKeyFileName); IFileHandler privateKeyFileHandler = new FileHandler(args.PrivateKeyFileName); var cryptography = new RsaCrypoProvider(); PrivatePublicKeyPair keyPair = cryptography.GeneratePrivatePublicKeys(); if (args.ShowKeys) { Console.WriteLine("Private Key: "); Console.WriteLine(keyPair.PrivateKey); Console.WriteLine(); Console.WriteLine("Public Key: "); Console.WriteLine(keyPair.PublicKey); return; } publicKeyFileHandler.WriteToFile(keyPair.PublicKey); privateKeyFileHandler.WriteToFile(keyPair.PrivateKey); }
public void GeneratePrivatePublicKeys_PROV_RSA_FULL_KeysGenerated() { _keyPair = _rsaCryptoProvider.GeneratePrivatePublicKeys(); _keyPair.PrivateKey.Should().NotBeNullOrWhiteSpace(); _keyPair.PublicKey.Should().NotBeNullOrWhiteSpace(); }
public void Initialize() { _rsaCryptoProvider = new RsaCrypoProvider(); _keyPair = _rsaCryptoProvider.GeneratePrivatePublicKeys(); }