我需要从 .NET 4.6 访问 CNG 证书的私钥。
在文档中,我找到了扩展方法GetCngPrivateKey,但此方法在 Visual Studio 2015 中对我不可用。
也许此方法已从 .NET 框架的最新版本中删除。
任何建议现在访问 CNG 证书的私钥的正确方法是什么。
我需要从 .NET 4.6 访问 CNG 证书的私钥。
在文档中,我找到了扩展方法GetCngPrivateKey,但此方法在 Visual Studio 2015 中对我不可用。
也许此方法已从 .NET 框架的最新版本中删除。
任何建议现在访问 CNG 证书的私钥的正确方法是什么。
GetCngPrivateKey
是 4.6 预览版的一部分,但在 4.6 版本中被删除。它已被GetRSAPrivateKey(以及 GetECDsaPrivateKey (4.6.1) 和 GetDSAPrivateKey (4.6.2))取代。
Get[Algorithm]{Public|Private}Key 方法通常会在需要时返回 CNG(在 Windows 上)和 CAPI (CryptoServiceProvider)。在非 Windows 系统(对于 .NET Core)上,它们使用适合系统的任何支持类型。
新方法还具有您几乎不需要转换返回类型的优点。在 4.6 上,RSA 基类得到了增强,因此所有 RSA 操作都可以在不强制转换的情况下完成。在 4.6.1 上增强了 ECDSA,在 4.6 上增强了 DSA。强制转换的唯一原因是互操作(例如尝试获取持久密钥的名称)。