Beispiel #1
0
        /// <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);
 }
Beispiel #3
0
        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();
 }