Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        public async Task WhenKeyNotFoundAndCreateNewIsFalse_ThenGetRsaKeyAsyncReturnsNull()
        {
            var adapter = new KeyStoreAdapter(
                CngProvider.MicrosoftSoftwareKeyStorageProvider,
                KeySize);

            Assert.IsNull(await adapter.CreateRsaKeyAsync(
                              KeyName,
                              CngKeyUsages.Signing,
                              false,
                              null));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }