首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PKCS#8加密密钥导入RSACng?

将PKCS#8加密密钥导入RSACng?
EN

Stack Overflow用户
提问于 2018-07-27 15:30:01
回答 1查看 926关注 0票数 0

如果我在PKCS#8中加密了RSA密钥,我可以以CngKeyBlobFormat.Pkcs8PrivateBlob的形式将其导入RSACng吗?还是这个CngKeyBlobFormat.Pkcs8PrivateBlob只是向CngKey显示,在导入期间,必须从DER解码密钥以获取密钥参数,然后将它们导入RSACng,因此答案是否定的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-27 16:13:51

CNG知道如何解密加密的PKCS#8,但您需要给它一个密码。由于.NET不要求您输入密码(并且它是通过属性以外的其他方式传递的),所以没有一个好的方法。

你的选择基本上是:

  • P/Invoke以便指定NCRYPTBUFFER_PKCS_SECRET值。
  • 更改您的进程,以便您有一个未加密的PKCS#8。
  • 更改您的流程,使您有一个PFX/PKCS#12,而不是加密的PKCS#8 (然后更改为通过X509Certificate2读取它)。
  • 等待未来版本的.NET核心,它将能够直接将PKCS#8、加密的PKCS#8和其他格式加载到RSA/DSA/ECDsa/ECDiffieHellman对象(功能目前在主分支中)。
  • 找一个能帮你解密的库。弹跳城堡可能能做到。

另见:Digital signature in c# without using BouncyCastle

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51561155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档