【问题标题】:Encrypted Xml using cer file使用 cer 文件加密的 Xml
【发布时间】:2014-05-14 21:30:13
【问题描述】:

这个网站

http://msdn.microsoft.com/en-us/library/vstudio/ms148633(v=vs.100).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

使用“test.pfx”加密 XML。

我想用 X509 证书加密我的 XML 并使用智能卡解密它。

我改变了那行

X509Certificate2 cert = new X509Certificate2("test.pfx");

X509Certificate2 cert = new X509Certificate2("test.cer");

我的代码对 XML 进行加密,在解密过程中,我输入我的智能卡密码,然后我的 XML 被解密。

当我使用 test.pfx 时,我必须更改代码

X509Certificate2 cert = new X509Certificate2("test.pfx", "myPassword"); 

这段代码加密了 XML,但在解密过程中我没有输入智能卡密码,我的 XML 被解密了。

你能解释一下为什么在http://msdn.microsoft.com/ 网站上加密 xml 使用的是 pfx 文件吗?

XML 加密的 *.cer 文件是否安全? 我只想通过我的智能卡解密我的 XML。

【问题讨论】:

    标签: c# xml encryption


    【解决方案1】:

    pfx 文件类似于 PKCS#12 (.p12) 文件。它通常包含一个证书和相应的私钥。

    .cer 文件仅包含没有私钥的普通证书。

    根据文档,引用示例中使用的 EncryptedXml.Encrypt 方法想要加密和签名生成的用于加密 XML 文档的 AES 密钥。

    使用证书中的公钥进行加密。 然而,签署文件需要私钥,我认为这是使用 .pfx 文件的原因。

    【讨论】:

      猜你喜欢
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多