public void KeysAreOfDifferentType() { var rsaKeyProvider = new RsaKeyProvider(asymmetricKeyPairGenerator); var rsaKeyPair = rsaKeyProvider.CreateKeyPair(1024); Assert.IsFalse(keyProvider.VerifyKeyPair(new AsymmetricKeyPair(rsaKeyPair.PrivateKey, keyPair.PublicKey))); }
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 void SetupEncryptKey() { var secureRandomGenerator = new SecureRandomGenerator(); var rsaProvider = new RsaKeyProvider(new AsymmetricKeyPairGenerator(secureRandomGenerator)); keyPair = rsaProvider.CreateKeyPair(1024); secureRandom.Setup(sr => sr.NextBytes(100)) .Returns(new byte[] { 0x07 }); }
protected void SetupWithRsaKey() { keyPair = rsaKeyProvider.CreateKeyPair(2048); var privateRsaKey = keyPair.PrivateKey; privateKey = pkcs8PemFormatter.GetAsPem(privateRsaKey); file.Setup(f => f.ReadAllBytes("private.pem")) .Returns(encoding.GetBytes(privateKey)); }
public void Setup() { generator = new AesKeyEncryptionGenerator(); var secureRandom = new SecureRandomGenerator(); var rsaProvider = new RsaKeyProvider(new AsymmetricKeyPairGenerator(secureRandom)); keyPair = rsaProvider.CreateKeyPair(1024); encryptedKey = generator.Encrypt("keypassword", new byte[] { 0x01, 0x02 }, 100, keyPair.PrivateKey.Content); }
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 SetupPkcsEncryptionGeneratorTest() { encryptionGenerator = new Pkcs12KeyEncryptionGenerator(); var secureRandom = new SecureRandomGenerator(); var rsaProvider = new RsaKeyProvider(new AsymmetricKeyPairGenerator(secureRandom)); keyPair = rsaProvider.CreateKeyPair(1024); encryptedKey = encryptionGenerator.Encrypt("fooBar", new byte[] { 0x01, 0x02 }, 10, keyPair.PrivateKey.Content); }
public void SetupSignatureProviderTest() { algorithmIdentifierMapper = new SignatureAlgorithmIdentifierMapper(); secureRandomGenerator = new SecureRandomGenerator(); signatureProvider = new SignatureProvider(algorithmIdentifierMapper, secureRandomGenerator, new SignerUtilitiesWrapper()); content = secureRandomGenerator.NextBytes(2000); keys = new Dictionary <CipherType, IAsymmetricKeyPair>(); var rsaGenerator = new AsymmetricKeyPairGenerator(secureRandomGenerator); var rsaKeyProvider = new RsaKeyProvider(rsaGenerator); IAsymmetricKeyPair keyPair = rsaKeyProvider.CreateKeyPair(2048); keys.Add(keyPair.PrivateKey.CipherType, keyPair); }
public void Setup() { var rsaKeyProvider = new RsaKeyProvider(keyPairGenerator); IAsymmetricKeyPair keyPair = rsaKeyProvider.CreateKeyPair(2048); key = keyPair.PublicKey; string keyContent = provider.GetRsaPublicKeyContent(key); result = base64.FromBase64String(keyContent); using (var stream = new MemoryStream(result)) { rawHeader = ReadNextContent(stream); rawExponent = ReadNextContent(stream); rawModulus = ReadNextContent(stream); } }
public void SetupGetAsDer() { var secureRandom = new SecureRandomGenerator(); var asymmetricKeyPairGenerator = new AsymmetricKeyPairGenerator(secureRandom); var rsaKeyProvider = new RsaKeyProvider(asymmetricKeyPairGenerator); var dsaKeyProvider = new DsaKeyProvider(asymmetricKeyPairGenerator); var ecKeyProvier = new EcKeyProvider(asymmetricKeyPairGenerator, new FieldToCurveNameMapper()); var keyPair = rsaKeyProvider.CreateKeyPair(1024); var key = keyPair.PublicKey; var encoding = new EncodingWrapper(); var base64 = new Base64Wrapper(); var sshKeyProvider = new SshKeyProvider(encoding, base64, rsaKeyProvider, dsaKeyProvider, ecKeyProvier, null); var formattingProvider = new SshFormattingProvider(sshKeyProvider, encoding, new Ssh2ContentFormatter(), null, base64); ssh2Key = formattingProvider.GetAsSsh2PublicKey(key, "foo"); keyContent = sshKeyProvider.GetRsaPublicKeyContent(key); openSshKey = formattingProvider.GetAsOpenSshPublicKey(key, "foo"); }
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); }