コード例 #1
0
        public void WhenKeyExistsButUsageDoesNotMatch_ThenGetRsaKeyAsyncReturnsKey()
        {
            var adapter = new KeyStoreAdapter();

            var key1 = adapter.CreateRsaKey(
                KeyName,
                CngKeyUsages.Signing,
                true,
                null);

            Assert.Throws <CryptographicException>(
                () => adapter.CreateRsaKey(
                    KeyName,
                    CngKeyUsages.Decryption,
                    false,
                    null));
        }
コード例 #2
0
        public void WhenKeyNotFoundAndCreateNewIsFalse_ThenGetRsaKeyAsyncReturnsNull()
        {
            var adapter = new KeyStoreAdapter();

            Assert.IsNull(adapter.CreateRsaKey(
                              KeyName,
                              CngKeyUsages.Signing,
                              false,
                              null));
        }
コード例 #3
0
        public void WhenKeyExists_ThenGetRsaKeyAsyncReturnsKey()
        {
            var adapter = new KeyStoreAdapter();

            var key1 = adapter.CreateRsaKey(
                KeyName,
                CngKeyUsages.Signing,
                true,
                null);

            var key2 = adapter.CreateRsaKey(
                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);
        }
コード例 #4
0
        public void WhenKeyNotFoundAndCreateNewIsTrue_ThenGetRsaKeyAsyncReturnsNewKey()
        {
            var adapter = new KeyStoreAdapter();

            var key = adapter.CreateRsaKey(
                KeyName,
                CngKeyUsages.Signing,
                true,
                null);

            Assert.IsNotNull(key);
            Assert.AreEqual("RSA", key.SignatureAlgorithm);
        }