如何实现用JAVA读取证书中的公钥加密数据,然后用证书中的私钥去解密?
也就是实现数字信封的功能。
在网上查了些资料,都是用私钥加密,公钥解密的。改了段代码,但是有错误:
- Java code
......................PublicKey pk1 = cf.getPublicKey(); // 得到证书文件携带的公钥Cipher c1 = Cipher.getInstance("RSA/ECB/PKCS1Padding"); // 定义算法:RSAc1.init(Cipher.ENCRYPT_MODE, pk1); 上面这句会出异常:java.security.InvalidKeyException: No installed provider supports this key: sun.security.provider.DSAPublicKeyImpl...........................
是否可以用 Cipher 来实现?
如果不行,可以用什么方法来实现公钥加密,私钥解密?
------解决方案--------------------
不懂这方面的,帮顶。
------解决方案--------------------
跟帖有分
------解决方案--------------------
core java卷二第十章 安全,可能有用。如果没有这本书可以下个电子版查一下相关内容。
------解决方案--------------------
我是来打酱油的
------解决方案--------------------
JCE 支持非对称加密的私钥加密公钥解密、公钥加密和私钥解密。
PS:cf 是什么?光靠这三行代码,一行异常看不出来什么。
------解决方案--------------------
跟贴有分,帮忙顶
------解决方案--------------------
DSA 不是非对称加密算法,而是数字签名算法!
------解决方案--------------------
跟贴有分,帮忙顶
------解决方案--------------------
帮 顶!
------解决方案--------------------
你那个证书是怎么生成是用 keytool 工具产生的么?具体是怎么生成的,我去生成一个来试试看。
------解决方案--------------------
修改bea下jdk1.4的安全文件,使其支持RSA/ECB/PCSK#1的填充方式。
1) 将bcprov-jdk14-143.Jar分别复制到下列路径
C:\bea8\jdk142_08\jre\lib\
C:\bea8\jdk142_08\jre\lib\ext\
2) 修改C:\bea8\jdk142_08\jre\lib\security\java.Security文件
在文件最后添加以下内容
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.net.ssl.internal.ssl.Provider
security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider
- Java code
SecretKeySpec key = new SecretKeySpec(aeskeyByte, "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, key);// 初始化 byte[] result = cipher.doFinal(buf);// 解密 return result;
------解决方案--------------------
很现实很有用的问题,我也很想知道答案!
支持一下本贴,别掉下去!
------解决方案--------------------
支持下 以前看过算法 但是后来没深入 无法提供帮助!
------解决方案--------------------
跟帖有分?
------解决方案--------------------
怎么变成在讨论公钥私钥如何产生了?公钥私钥是配对的,至于其pair如何产生通过Integer还是不通过Integer有关系吗?
RSA可以用来签名或加密,公钥进行加密,私钥来解密,现在问题是什么呢?产生了错误...再看看,出于兴趣,一起学习下 看也是很少有人搞这个领域
------解决方案--------------------
跟帖有分.....
------解决方案--------------------
学过一阵子加密技术,学的不精,学习吧,帮顶
------解决方案--------------------