public async Task WhenKeyExistsButUsageDoesNotMatch_ThenGetRsaKeyAsyncReturnsKey() { var adapter = new KeyStoreAdapter( CngProvider.MicrosoftSoftwareKeyStorageProvider, KeySize); var key1 = await adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Signing, true, null); AssertEx.ThrowsAggregateException <CryptographicException>( () => adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Decryption, false, null).Wait()); }
public async Task WhenKeyNotFoundAndCreateNewIsFalse_ThenGetRsaKeyAsyncReturnsNull() { var adapter = new KeyStoreAdapter( CngProvider.MicrosoftSoftwareKeyStorageProvider, KeySize); Assert.IsNull(await adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Signing, false, null)); }
public async Task WhenKeyExists_ThenGetRsaKeyAsyncReturnsKey() { var adapter = new KeyStoreAdapter( CngProvider.MicrosoftSoftwareKeyStorageProvider, KeySize); var key1 = await adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Signing, true, null); var key2 = await adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Signing, false, null); Assert.IsNotNull(key2); Assert.AreEqual(key1.ExportParameters(false).Modulus, key2.ExportParameters(false).Modulus); Assert.AreEqual(key1.ExportParameters(false).Exponent, key2.ExportParameters(false).Exponent); }
public async Task WhenKeyNotFoundAndCreateNewIsTrue_ThenGetRsaKeyAsyncReturnsNewKey() { var adapter = new KeyStoreAdapter( CngProvider.MicrosoftSoftwareKeyStorageProvider, KeySize); var key = await adapter.CreateRsaKeyAsync( KeyName, CngKeyUsages.Signing, true, null); Assert.IsNotNull(key); Assert.AreEqual("RSA", key.SignatureAlgorithm); }