我已经尝试做了几天,这让我发疯,就是基于jboss 4.0.5服务器使用 SSL 证书(https)为此,我关注这些指示:
- 生成密钥库(sha256withRSA)-虽然我使用了-sigalg sha512 和 RSA当生成
- 生成请求并发送给我的 CA
- CA 正在向我发送 2 个证书:base64.cer和base64-链.p7b
a) 现在我需要将 base64.cer 导入到我的密钥库中,但这给了我这个错误
keytool 错误:java.lang.Exception:无法从回复建立链
- 使此导入起作用的唯一方法是使用另一个别名(而不是密钥库的别名),但这不是正确的做法
b)因为第一种方法不起作用,现在我尝试导入.p7b文件给了我这个错误:
keytool 错误:java.lang.Exception:回复中的证书链无法验证:1.2.840.113549.1.1.10 签名不可用
- 我的 CA 有 sha512 算法,上面的错误数字意味着安全漏洞签名算法
因为我的 CA 有一个中间人,所以我尝试遵循这些说明和导出根、中间体作为单独的.cer文件。当我尝试导入时根证书给了我这个错误
keytool 错误:java.security.NoSuchAlgorithmException:1.2.840.113549.1.1.10 签名不可用
奇怪的是,如果我尝试导入中间证书,它仍然可以工作,尽管它具有相同的算法(sha512)
我非常绝望,我不知道我还能做些什么才能使它成功......提前谢谢!
Java 版本:1.6.0_45-jboss 4.0.5
答案1
问题出在java版本本身(java 6),所以最后我安装了jdk14,并且成功安装了,没有问题.p7b我的 CA 发送的证书。