最近接触了一个案例. 如下:
系统A: Java平台, 对信息进行RSA加密. 注意: 是用私钥加密.
系统B: .Net平台, 要对信息进行RSA解密
证书: 中Java中提供的工具Keytool.exe生成.
为了证明解决方案的可行性.我做了以下测试:
1>. RSA私钥加密,公钥是否可解(Java代码测试)
结果: 可解. (理论上为不可解)
2>. .Net 公钥加密结果 与 Java 的公钥加密结果是否一致
结果: 出现以下几个问题
1. 使用的证书格式为(X509), 但是Java取得的PublicKey与.Net中取得的PublicKey不同
测试方法为, 用Java读取.cer文件, 生成.Net中PublicKey文件格式(Xml), 然后.Net读取Xml文件, 但 是 与.Net 直接读取.cer 文件所得出的内容是不同的
2..Net中用相同的公钥,为什么每次加密的结果都不相同.
3. .Net中 RSACryptoServiceProvider 对象与 X509Certificate 对象之间是一个什么样的关系. 它们之间如果相互操作,互相访问.
3>. 第二个测试没有通过. 下面的测试也就没有做了....
相关代码下载:
/Files/waffie/NewvCipher.rar
/Files/waffie/RSACipher.rar
前天才接触RSA加密, 再加上两年没有用Java了. 还请大家指点迷津!!!
转载于:https://www.cnblogs.com/waffie/archive/2006/12/05/583034.html