这个网站
使用“test.pfx”加密XML。
我希望通过X509证书加密我的XML并使用智能卡解密它。
我改变了那条线
X509Certificate2 cert = new X509Certificate2("test.pfx");
在
X509Certificate2 cert = new X509Certificate2("test.cer");
我的代码加密XML,在解密过程中我输入了我的smard卡引脚,我的XML被解密了。
当我使用test.pfx时,我必须更改
上的代码X509Certificate2 cert = new X509Certificate2("test.pfx", "myPassword");
并且此代码对XML进行加密,但在解密过程中我没有输入我的smard卡引脚,我的XML也被解密了。
你能解释一下为什么在http://msdn.microsoft.com/网站上加密xml正在使用pfx文件吗?
XML加密* .cer文件是否安全? 我只想通过智能卡解密我的XML。
答案 0 :(得分:1)
pfx文件类似于PKCS#12(.p12)文件。它通常包含证书和相应的私钥。
.cer文件只包含没有私钥的普通证书。
根据文档,引用示例中使用的EncryptedXml.Encrypt方法希望加密并签名生成的用于加密XML文档的AES密钥。
对于加密,使用证书中的公钥。 但是,对于签名文档,需要私钥,我认为这是使用.pfx文件的原因。