예제 #1
0
        public static void GetECDsaPublicKey_ThrowsForCorruptKey()
        {
            AsnEncodedData badData = new AsnEncodedData(new byte[] { 1, 2, 3, 4 });
            PublicKey      key     = new PublicKey(GetTestECDsaKey().Oid, badData, badData);

            Assert.ThrowsAny <CryptographicException>(() => key.GetECDsaPublicKey());
        }
예제 #2
0
        public static void GetPublicKey_NullForDifferentAlgorithm()
        {
            byte[]    spki = TestData.GostR3410SubjectPublicKeyInfo;
            PublicKey key  = PublicKey.CreateFromSubjectPublicKeyInfo(spki, out _);

            Assert.Null(key.GetRSAPublicKey());
            Assert.Null(key.GetECDsaPublicKey());
            Assert.Null(key.GetECDiffieHellmanPublicKey());
        }
예제 #3
0
        public static void GetECDsaPublicKey_ReturnsECDsaKey()
        {
            PublicKey key = GetTestECDsaKey();

            using (ECDsa ecdsa = key.GetECDsaPublicKey())
            {
                Assert.NotNull(ecdsa);
                Assert.Equal(ecdsa.ExportSubjectPublicKeyInfo(), key.ExportSubjectPublicKeyInfo());
            }
        }