Beispiel #1
0
        public static SigningKey CreateFromCertificate(X509Certificate2 certificate)
        {
            SafeCryptKeyHandle cryptKeyHandleFromCertificatePrivateKey = CngNative.GetCryptKeyHandleFromCertificatePrivateKey(certificate);
            string             text = CngNative.NCryptGetPropertyString(cryptKeyHandleFromCertificatePrivateKey, "Algorithm Group");

            if (text.Equals("RSA", StringComparison.OrdinalIgnoreCase))
            {
                return(new RsaSigningKey(cryptKeyHandleFromCertificatePrivateKey, certificate));
            }
            return(new DsaSigningKey(cryptKeyHandleFromCertificatePrivateKey, certificate));
        }