【发布时间】:2015-09-22 02:28:59
【问题描述】:
客户端使用 X.509 证书加密消息并将加密的消息发送到我的 Web 服务器。客户端提供了没有私钥的 X.509 证书(导出为 DER 编码的二进制 X.509 (.cer))。现在我的任务是使用我拥有的 X.509 证书解密消息。
每当我尝试解密消息时,我都会收到“私钥不存在”异常,这是预期的,因为证书不包含私钥。没有私钥,使用x.509证书解密消息是否可行?
其次,如果客户端为证书单独提供密码,我可以创建一个 X509Certificate2 的实例并使用它来解密消息,例如:
X509Certificate2 c = new X509Certificate2("filename", "password");
【问题讨论】:
-
双密钥系统的全部意义在于,一个密钥用于加密,一个用于解密。
标签: c# encryption cryptography private-key x509certificate2