Java 错误 SunCertPathBuilderException: Unable to Find Valid Certification Path to Requested Target
本篇文章将讨论 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 的解决方案
-
首先,确定问题是否源于证书或网络。 要验证这一点,请在 Google Chrome 或您首选的浏览器中打开该 URL,看看它是否有效。
在这种情况下,应用程序客户端上的无效证书设置必定是异常的根源。 如果浏览器无法访问,可能是防火墙或网络设置问题。
-
确定证书设置是否存在问题后,获取服务器的 SSL 证书。 在最简单的情况下,这可能是根证书,但在大多数情况下,需要证书链和中间证书颁发机构。
您可以按照以下步骤检查 SSL 证书的有效性。
-
打开浏览器并单击左上角的锁。
-
然后单击“连接是安全的”。
-
最后,您将获得该网站的状态(如果它有效)。
-
打开浏览器并单击左上角的锁。
-
如果您想导出证书详细信息,请按照以下步骤操作。
-
选择 URL 栏旁边的锁符号,然后单击连接安全 > 证书有效。
-
单击“详细信息”部分,然后单击“复制到文件”按钮导出证书。
-
导出 DER 编码的二进制文件。
-
选择要保存的目录并命名文件。
-
单击“完成”后,您将看到一条消息“导出成功”。
-
选择 URL 栏旁边的锁符号,然后单击连接安全 > 证书有效。
-
使用新证书启动信任存储条目。 可以使用关键工具实用程序来执行此操作。
执行以下命令创建新的信任存储。
keytool -import -file C:\cascerts\firstCA.cert -alias firstCA -Keystore myTrustStore
- 重新启动您的程序以完成该过程。
相关文章
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 异常。
Eclipse 中错误 There Is Insufficient Memory for the Java Runtime Environment t
发布时间:2023/07/10 浏览次数:55 分类:Java
-
本篇文章介绍了使用 Eclipse IDE 时内存不足导致 Java 运行时环境错误。 它还讨论了其原因和解决方案。
解决 Java 中 the Public Keys in Reply and Keystore Don't Match 错误
发布时间:2023/07/10 浏览次数:183 分类:Java
-
本篇文章讨论 keytool error: java.lang.Exception: Public keys in reply and keystore don't match 错误。 它还强调了导致此错误的可能原因。此外,我们将了解可用于修复此错误的不同解决方案。
解决 Java 中 java.util.zip.ZipException: Error in the Opening Zip File
发布时间:2023/07/10 浏览次数:58 分类:Java
-
本篇文章讨论了 java.util.zip.ZipException: error in opening zip file 消息背后的原因,并提供了该问题的可能解决方案。 让我们从理解错误开始。java.util.zip.ZipException:error in opening zip file
Java 错误 java.util.InputMismatchException
发布时间:2023/07/10 浏览次数:127 分类:Java
-
本文将讨论Java编程语言主线程中的 java.util.InputMismatchException。Java 中的 java.util.InputMismatchException 每当 JVM 收到一种数据作为输入但需要另一种类型的值(这表明数据不匹配)时,它就会抛出 j
修复 Minecraft 错误 Error Occurred During Initialization of VM
发布时间:2023/07/10 浏览次数:140 分类:Java
-
今天,我们将了解为什么在 Minecraft 中初始化 VM 时出现错误,以及如何解决该错误。 因此,让我们首先了解错误和可能的原因。描述错误及其原因