首页 > 解决方案 > 使用 .NET 导入 Pkcs#8 加密私钥

问题描述

我想从 pkcs8 文件(-----BEGIN ENCRYPTED PRIVATE KEY-----)导入(RSA 和 ECDsa)私钥。

这个问题How to import PKCS#8 RSA privateKey (created by OpenSSL) in C#已经得到解答,但我唯一可以接受的解决方案是实现我想要避免的 pkcs8 解析器以及使用 3rd 方库(除了Chillkat 还有 BouncyCastle 和它的 PemReader)以及 pinvoke 和NCryptImportKey(这里提到:Importing PKCS#8 encrypted key to RSACng?)(到目前为止我没有走这条路,所以我不确定它是否合适。是它?)。

我希望类似CngKey key = CngKey.Import(bytes, CngKeyBlobFormat.Pkcs8PrivateBlob, password)不幸Import的方法只支持导入未加密的密钥(-----BEGIN PRIVATE KEY-----)。

有没有其他方法可以使用 .NET 版本:4.7.2 获取这些密钥?

谢谢。

标签: c#importprivate-keypkcs#8

解决方案


推荐阅读