我花了将近一天时间在网上搜索以下要求,最后只在.net中完成加密和解密,但在java上没有。
我想加密.net中的文件,并使用x509Certificate
在java上解密makecert -r -pe -n "CN=CERT_SIGN_TEST_CERT" -b 01/01/2010 -e 01/01/2012 -sky exchange -ss my
使用此命令我从证书生成证书和导出的.pfx文件,此pfx文件用于加密xml文件
<。>在.net中使用EncryptedXml,X509Certificate2,RSACryptoServiceProvider和 XmlDocument类(.Net)
我加密以下xml
<Test><Name>Foo</Name><CardNo>123</CardNo></Test>
如下:
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#"><EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /><KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"><EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"><EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /><KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"><X509Data><X509Certificate>MIICFzCCAYCgAwIBAgIQK5IFtxwNaJhGzXuDf92TgzANBgkqhkiG9w0BAQQFADAfMR0wGwYDVQQDHhQARgBpAG4AYQBsAF8AQwBlAHIAdDAeFw0wOTEyMzExODMwMDBaFw0xMjEyMzExODMwMDBaMB8xHTAbBgNVBAMeFABGAGkAbgBhAGwAXwBDAGUAcgB0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1Wx11luboMbT1swXV/56j2RYRhR81n9hF3b6tfof1zHRorg7DIP3hvnVtqDF+WxAjn1um97DHtxWf3solthbIHC9cGtqxUhZhgdd0aVAuiKTBbTgnOWdEqTErenrHOzlZnD9iDzOm3OYVLKN+3hKJmjlhTp0sFsu4AIbXlxZVHQIDAQABo1QwUjBQBgNVHQEESTBHgBBDXPlnSZ5zUyVbxJzJO12goSEwHzEdMBsGA1UEAx4UAEYAaQBuAGEAbABfAEMAZQByAHSCECuSBbccDWiYRs17g3/dk4MwDQYJKoZIhvcNAQEEBQADgYEAiubZJZdF3Y9ItOl7LTyixcbuebs50GLFsTeMslS3usq6psXcUEFJntXJ5vXOSe/vp6E6A5AwW4MtPfnB1kzach4T4+WlWeaDHoyj6y5j+n7P6B/X6ZhkQ8MCiGhZ/fTOt7CDisnFVG9gvoH2LUEs1QkiByDq6jii3TUAMN9YQdA=</X509Certificate></X509Data></KeyInfo><CipherData><CipherValue>Vyml+mtbeL5bE6EWKNqHfnE1xEkbJglcxbjH3Y7pj9BtXVImAI/SbBdLHatyjIAei7qUfhcn+qYC7WAh48XR78BgqCdJX7O5lfZjVSVeVaQUwl1Bdirdz7RYuveIjDtEIM80W4tB6rq2nOgYNkisxhhwIl7EiCQtT42bSGCKFic=</CipherValue></CipherData></EncryptedKey></KeyInfo><CipherData><CipherValue>ezVeQlBGZRbHqitB2mmHuMvifGB9IhG1g0CWmL8iz37JIIw7x5cGbb5Ap8iy24ACu8TJpwgAGIUWnUTDSZ//kWLzCa3G5HL+jT/RHn+zypk=</CipherValue></CipherData></EncryptedData>
使用w3c标准进行加密。我如何在java上解密这个xml文件。我使用.pfx文件来加密文件。在.net中,我可以使用以下方法解密文件:
EncryptedXml encXml = new EncryptedXml(xmlEncDoc);
encXml.DecryptDocument();
如果我将pfx文件传递给java端,我如何在java中解密?因为加密的xml文件中有<X509Data>
标记。
你的建议是适当的。