开关导航栏
梦幻家居
首页
站点事务
电脑技术
游戏天地
网络文学
心情故事
侠骨柔情
轻松一刻
大 杂 烩
灌 水 区
网 摘
登录
使用keytool密钥对加密报错
雪域幽狐 2012-05-04 19:28 阅读:17642
Java
在使用keytool生成密钥对后,获取证书公钥,然后加密时,报错:
java.security.InvalidKeyException: Unsupported key type: Sun DSA Public Key
或
java.security.InvalidKeyException: No installed provider supports this key: sun.security.provider.DSAPublicKeyImpl
很疑惑,难道Java自己生成的密钥对都不支持,没道理啊。然后使用OpenSSL生成密钥对后,能正常加密/解密。在查看证书类型时总算发现了差异,OpenSSL的证书实现类是RSAPublicKeyImpl,keytool默认生成的证书是DSAPubllicKeyImpl。
这个在用keytool生成密钥对时需要指定-keyalg,否则默认采用的是DSA。语法参考如下:
keytool -genkeypair -alias server -validity 3600 -keyalg RSA -keystore server.keystore
0条评论
添加新评论
登陆后可评论