Example #1
0
        public void SetupAsymmetricKeyProviderTest()
        {
            var configuration = Mock.Of <IConfiguration>(c => c.Get <int>("SaltLengthInBytes") == 100 &&
                                                         c.Get <int>("KeyDerivationIterationCount") == 10);
            var secureRandom = new SecureRandomGenerator();
            var asymmetricKeyPairGenerator = new AsymmetricKeyPairGenerator(secureRandom);
            var primeMapper = new Rfc3526PrimeMapper();
            var fieldMapper = new FieldToCurveNameMapper();

            rsaKeyProvider     = new RsaKeyProvider(asymmetricKeyPairGenerator);
            dsaKeyProvider     = new DsaKeyProvider(asymmetricKeyPairGenerator);
            ecKeyProvider      = new EcKeyProvider(asymmetricKeyPairGenerator, fieldMapper);
            elGamalKeyProvider = new ElGamalKeyProvider(asymmetricKeyPairGenerator, primeMapper);

            cipherTypeMapper = new OidToCipherTypeMapper();
            keyInfoWrapper   = new Mock <KeyInfoWrapper>();

            SetupValidKeyInfo();
            SetupValidKeyProvider();

            pkcsEncryptionProvider = new KeyEncryptionProvider(configuration, secureRandom, keyProvider, new Pkcs12KeyEncryptionGenerator(), new AesKeyEncryptionGenerator());

            rsaKeyPair = rsaKeyProvider.CreateKeyPair(2048);
            dsaKeyPair = dsaKeyProvider.CreateKeyPair(2048);
            ecKeyPair  = ecKeyProvider.CreateKeyPair("secp384r1");

            elGamalKeyPair = elGamalKeyProvider.CreateKeyPair(2048, true);
        }
 public AsymmetricKeyProvider(OidToCipherTypeMapper cipherTypeMapper, KeyInfoWrapper keyInfoWrapper, IKeyProvider <RsaKey> rsaKeyProvider, IKeyProvider <DsaKey> dsaKeyProvider, IEcKeyProvider ecKeyProvider, IElGamalKeyProvider elGamalKeyProvider)
 {
     this.cipherTypeMapper   = cipherTypeMapper;
     this.rsaKeyProvider     = rsaKeyProvider;
     this.dsaKeyProvider     = dsaKeyProvider;
     this.ecKeyProvider      = ecKeyProvider;
     this.elGamalKeyProvider = elGamalKeyProvider;
     this.keyInfoWrapper     = keyInfoWrapper;
 }
Example #3
0
            public void SetupDecrypt()
            {
                var secureRandomGenerator = new SecureRandomGenerator();
                var rsaProvider           = new RsaKeyProvider(new AsymmetricKeyPairGenerator(secureRandomGenerator));

                keyPair = rsaProvider.CreateKeyPair(1024);

                var oidToCipherTypeMapper = new OidToCipherTypeMapper();

                encryptionProvider = new KeyEncryptionProvider(configuration, secureRandomGenerator, new AsymmetricKeyProvider(oidToCipherTypeMapper, new KeyInfoWrapper(), rsaProvider, null, null, null), new Pkcs12KeyEncryptionGenerator(), new AesKeyEncryptionGenerator());
            }
        public void SetupFormattingProviderTest()
        {
            var secureRandom = new SecureRandomGenerator();

            rsaKeyProvider = new RsaKeyProvider(new AsymmetricKeyPairGenerator(secureRandom));
            keyPair        = rsaKeyProvider.CreateKeyPair(2048);

            var oidMapper = new OidToCipherTypeMapper();
            var asymmetricKeyConverter = new AsymmetricKeyProvider(oidMapper, new KeyInfoWrapper(), rsaKeyProvider, null, null, null);

            pkcs8PemFormattingProvider = new Pkcs8PemFormattingProvider(asymmetricKeyConverter);

            var configuration = Mock.Of <IConfiguration>(m => m.Get <int>("SaltLengthInBytes") == 100 &&
                                                         m.Get <int>("KeyDerivationIterationCount") == 1);

            var encryptionProvider = new KeyEncryptionProvider(configuration, secureRandom, asymmetricKeyConverter, new Pkcs12KeyEncryptionGenerator(), new AesKeyEncryptionGenerator());

            pkcsEncryptedKey = encryptionProvider.EncryptPrivateKey(keyPair.PrivateKey, "password", EncryptionType.Pkcs);
            aesEncryptedKey  = encryptionProvider.EncryptPrivateKey(keyPair.PrivateKey, "password", EncryptionType.Aes);
        }
Example #5
0
 public void Setup()
 {
     cipherTypeMapper = new OidToCipherTypeMapper();
 }