迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 错误 SunCertPathBuilderException: Unable to Find Valid Certification Path to Requested Target

作者:迹忆客 最近更新:2023/07/07 浏览次数:

本篇文章将讨论 unable to find valid certification path to requested target 潜在原因及其在 Java 中的解决方案。

但是,在我们继续之前,您必须清楚地了解 SSL 加密和证书,因为需要清楚地了解 SSL 证书。

SSL 加密和证书:如果没有 SSL 证书,HTTPS 连接就无法正常运行。 通过使用一组公钥和私钥,它可以证实所声称的服务或网站的身份。

私钥对域传递的所有内容进行加密或签名,客户端应用程序使用公钥来验证身份。


Java中的sun.security.provider.certpath.SunCertPathBuilderException是什么

sun.security.provider.certpath.SunCertPathBuilderException 是一个用于处理 Java 中异常的类,用于检查 Java 程序尝试连接的服务器的 SSL 证书。 此类以创建证书的提供者命名。

以下是开发人员遇到此问题时显示的错误消息。

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

在任何涉及使用 SSL 访问加密服务的操作期间都可能抛出该错误。

受 SSL 保护的 API 和网站在访问之前会由 Java 框架检查其可信度。 这是通过检查其内部受信任列表以查看签名的根证书颁发机构是否在其中来完成的。

如果 Java 无法发现对该服务的任何引用,则会抛出此错误。 使用自签名证书访问由他人数字签名签名的服务总是会失败。


sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 的原因

Java 能够通过 SSL 连接到另一个程序的唯一方法是它可以信任 HTTPS 等。在 Java 世界中,通常有一个信任库 $JAVA HOME/lib/security/cacerts ,您可以在其中存储信任证书。

此异常是由 Java 信任存储中不存在的自签名证书或证书链触发的。 Java 拒绝连接到应用程序,因为它不信任该证书。


sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 的解决方案

  1. 首先,确定问题是否源于证书或网络。 要验证这一点,请在 Google Chrome 或您首选的浏览器中打开该 URL,看看它是否有效。

    在这种情况下,应用程序客户端上的无效证书设置必定是异常的根源。 如果浏览器无法访问,可能是防火墙或网络设置问题。

  2. 确定证书设置是否存在问题后,获取服务器的 SSL 证书。 在最简单的情况下,这可能是根证书,但在大多数情况下,需要证书链和中间证书颁发机构。

    您可以按照以下步骤检查 SSL 证书的有效性。

    • 打开浏览器并单击左上角的锁。

      Chrome 锁定 URL

    • 然后单击“连接是安全的”。

      连接安全

    • 最后,您将获得该网站的状态(如果它有效)。

      证书有效

  3. 如果您想导出证书详细信息,请按照以下步骤操作。
    • 选择 URL 栏旁边的锁符号,然后单击连接安全 > 证书有效。

      证书有效

      证书

    • 单击“详细信息”部分,然后单击“复制到文件”按钮导出证书。

      点击详情

      复制到文件

      导出向导

    • 导出 DER 编码的二进制文件。

      出口订单

    • 选择要保存的目录并命名文件。

      浏览

    • 单击“完成”后,您将看到一条消息“导出成功”。

      导出成功

  4. 使用新证书启动信任存储条目。 可以使用关键工具实用程序来执行此操作。

    执行以下命令创建新的信任存储。

    keytool -import -file C:\cascerts\firstCA.cert -alias firstCA -Keystore myTrustStore
    
  5. 重新启动您的程序以完成该过程。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 错误 Could Not Reserve Enough Space for Object Heap Minecraft

发布时间:2023/07/11 浏览次数:125 分类:Java

本篇文章介绍了 Java 中的 Could not reserve enough space for object heap 错误。Minecraft 是一款非常流行的用 Java 开发的游戏,我们需要 Java 来运行它。Java 中Minecraft 错误Could not reserve enough space for object h

Java 错误 Cannot Determine a Valid Java Home

发布时间:2023/07/11 浏览次数:148 分类:Java

本篇文章介绍了 Java 中的 cannot determine a valid java home 错误。当 Java Home 路径设置不正确时,会出现 cannot determine a valid java home 错误。 我们必须按照以下步骤正确设置我们的 Java Home 来解决这个问

解决 Java 错误 Unreachable Statement

发布时间:2023/07/11 浏览次数:175 分类:Java

本篇文章介绍了 Java 中的 unreachable statement 错误。Java中出现 unreachable statement 错误的原因 当我们尝试在分支控制流语句之后放置语句时,会发生不可到达语句错误。

解决 Java 中 java.io.IOException: Broken Pipe 错误

发布时间:2023/07/10 浏览次数:62 分类:Java

本文介绍了 java.io.IOException: Broken pipeline 异常的原因,并提供了在 Java 中修复该异常的解决方案。 但在此之前,让我们先看一下 java.io.IOException: Broken pipeline 异常。

Java 错误 java.util.InputMismatchException

发布时间:2023/07/10 浏览次数:127 分类:Java

本文将讨论Java编程语言主线程中的 java.util.InputMismatchException。Java 中的 java.util.InputMismatchException 每当 JVM 收到一种数据作为输入但需要另一种类型的值(这表明数据不匹配)时,它就会抛出 j

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便