【问题标题】:Certificate issue while migrating from jdk1.5 to jdk1.7从 jdk1.5 迁移到 jdk1.7 时出现证书问题
【发布时间】:2013-11-01 06:14:45
【问题描述】:
  • 处理请求时捕获 I/O 异常 (org.apache.axis2.AxisFault):sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到有效的证书路径到请求的目标

从 jdk 1.5 迁移到 jdk 1.7 后,我得到了 sun.security.validator.ValidatorException。

步骤: 将 jdk 1.5 替换为 1.7(包括 jre)。 用jdk1.7编译代码。编译成功。 在使用服务器提供的证书访问 url 时,我在 jdk1.7 中得到 sun.security.validator.ValidatorException。但是在jdk1.5中没有抛出异常。 在 cacerts 文件中,我导入了别名为 xxxx 的特定证书。如果我在证书中使用域名作为别名的 jdk1.7 名称访问 url,则不会引发异常并且工作正常......

将 jdk1.5 迁移到 jdk1.7 需要做些什么吗? 我真的在上述过程中遗漏了什么吗?

任何帮助将不胜感激...

【问题讨论】:

  • 如果您在浏览器中访问 URL 或使用 curl 会怎样?
  • 您的证书是否包含关键扩展? JDK Bug 6668231 提到 Java 5 和 7 的行为差异。它还说 ... 如果遇到无法识别的关键扩展,则必须拒绝证书/CRL。
  • 您将证书导入到哪个 cacerts 文件中?运行时实际使用的是哪个 JRE?例如,在 Windows 上,安装 JDK 时,实际上是在安装 2 个 JRE……一个在 JDK 文件夹中,一个在 Java 文件夹中。

标签: java ssl-certificate x509certificate


【解决方案1】:

服务器发送的没有扩展的自签名证书。

证书的版本是 1。

我使用的 /jdk1.7/jre/lib/security/cacerts 只有 jre 1.7。我也检查了 cacerts 文件。证书详细信息已正确更新。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
相关资源
最近更新 更多