首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有私钥的X.509证书C#解密

没有私钥的X.509证书C#解密
EN

Stack Overflow用户
提问于 2015-09-21 17:42:30
回答 1查看 1.8K关注 0票数 4

客户端使用X.509证书加密消息,并将加密消息发送到我的web服务器。客户端提供了一个没有私钥的X.509证书(导出为DER编码二进制X.509 (.cer))。现在,我的任务是使用我拥有的X.509证书解密消息。

每当我试图解密消息时,就会得到“私钥不存在”异常,因为证书不包含私钥。使用没有私钥的x.509证书解密消息可行吗?

其次,如果客户端分别为证书提供密码,我可以创建一个X509Certificate2实例并使用它解密消息如下:

代码语言:javascript
复制
X509Certificate2 c = new X509Certificate2("filename", "password");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-21 18:23:41

您将需要私钥来解密消息。例如,您可以要求您的客户端提供一个包含私钥的.pfx文件,但是,这有点向后,通常情况下,对于非对称加密,发送方(客户端)应该使用接收方(您的)公钥加密消息,而您用接收方(您的)私钥解密该消息。这样,私钥就不会被分配给多方,从而减少了被泄露的可能性。私钥的整个概念是它是私有的,只有密钥的所有者才能使用它。

编辑:至于第二个问题,密码不是私钥。您可以生成由密码保护的私钥。这意味着,为了使用私钥进行解密,还必须知道保护该私钥的密码。

编辑2:我不确定这是否有帮助,但我很难理解如何在一段时间前实际应用这些概念,因此我编写了一系列可能对您有所帮助的博客帖子。我不自称是安全专家,但我写的东西可能会让你开始工作。

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

https://stackoverflow.com/questions/32701441

复制
相关文章

相似问题

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