Loading

错误:"有效的证书链,但是没有找到信任证书!"以及 Anypoint Studio 中的“无法找到所请求目标的有效认证路径”

发布日期: Mar 27, 2026
解决方案

症状

以下是连接到 Anypoint Exchange、设计中心、Studio、连接器、Munit、Runtime 更新或将应用程序部署到 Cloudhub 时,Anypoint Studio 中记录的两种不同类型的 SSLHandshakeException 错误。

javax.net.ssl.SSLHandshakeException: org.eclipse.ecf.internal.ssl.ECFCertificateException:有效的证书链,但找不到信任证书!

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到所请求目标的有效认证路径

请注意,UI 可能会显示一般的无法访问、下载或访问被拒绝错误。证书错误是在 Anypoint Studio 中捕获的。有关如何查看 Anypoint Studio 的更多信息,请参考如何检索 Studio 错误日志

原因

  • 当 Java 信任存储没有 Anypoint 平台或 Studio 更新主机时,会出现“有效的证书链,但找不到信任证书”错误
  • 当 Java 信任存储没有完整的证书链时,会出现“无法找到所请求目标的有效证书路径”错误
  • 由于 Eclipse 更新,Anypoint Studio 使用 JDK 11 启动 Studio。我们还将 Studio 与 JDK 8 捆绑在一起运行嵌入式运行时。所以 Studio 用 11 和 8 执行不同的操作。

解决方案

注意:  如果仅在使用 VPN 时出现错误,请确保在完成所有这些步骤之前连接到 VPN。

步骤:

第 1 部分:下载证书

  1. 在计算机上创建一个文件夹来下载/存储证书 

  2. 打开浏览器并转到 https://anypoint.mulesoft.com/login(和/或任何其他在访问时显示错误的 URL,例如 studio.mulesoft.orgdownload.eclipse.org

  3. 单击浏览器地址栏中的锁图标,然后单击“连接安全”

    用户添加的图像

  4. 单击“证书有效”可查看证书 

    用户添加的图像

  5. 您应该会看到所有必需的证书 - 这里只有三个,但您也可能会看到四个。您需要将它们全部下载下来。

    用户添加的图像

  6. 下载每个证书时,请将证书保存在您创建的文件夹中,并尽可能按照证书的原始名称重命名证书。请删除所有空格。例如,如果证书名为“Amazon Root CA 1”,请将其重命名为“amazon_root_ca_1.cer”。
  7. 在文本编辑器中打开新文件。在文本文件中复制/粘贴每个证书的完整位置。例如,对于 Windows,位置可能如下所示:C:\Users\TestUser\Downloads\Mulesoft_Certificates\Zscaler_Root_CA.crt
  8. 对于 Mac:这是一个为 Mac 下载第二个证书的例子。单击详细信息 - 向下滚动 - 寻找以 .crt 结尾的 URI 链接 - 单击它,应该能下载。

    用户添加的图像

  9. 对于 Windows:单击详细信息,然后复制到文件。使用证书导出向导将所有证书下载到新文件夹中。

  10. 此时,应该有 3-4 个路径被复制到文本文件中
  11. 现在我们要构造一个 keytool 命令

第 2 部分:创建 keytool 命令,将证书安装到 Java 信任存储中

  1. 复制保存证书的文件夹路径,并将其粘贴到文本编辑器中。

    1. 对于 Mac:若要在 Mac 中复制路径,请打开查找器,右键单击或选择控制,然后单击您需要路径的文件夹或文件,按住 OPTION 键,您应该会看到“复制为路径名”选项。

    2. 对于 Windows:要在 Windows 中复制路径,请打开查找器,导航到需要路径的文件夹或文件,单击查找器顶部显示位置的区域,它应该允许您复制路径。

  2. 在文本编辑器中,复制/粘贴以下命令。 
    请注意,您需要为每个证书创建一个 keytool 命令。例如,在上面的例子中,您将需要两个 keytool 命令,一个用于 Amazon,一个用于 Amazon CA Root 1。keytool 命令的数量将根据您拥有的证书数量(通常为 2 或 3)而有所不同。
    提示:如果有三个证书,建议将下面的示例 keytool 命令作为新行复制/粘贴到文本编辑器中四次,这样可以保留一行作为示例,并为每个证书编辑其他行。这里有一个示例:

    用户添加的图像

    1. 对于 Mac:keytool -importcert -file pathToFolder/ -keystore JDKpath/Contents/Home/lib/security/cacerts -alias "" 

    2. 对于 Windows:keytool -importcert -file C:\Users\TestUser\Downloads\Mulesoft_Certificates\Zscaler_Root_CA.crt -keystore C:\Users\TestUser\Downloads\AnypointStudio718\plugins\org.mule.tooling.jdk.win32.x86_64_1.3.1\lib\security\cacerts -alias “Zscaler_Root_CA”

  3. 在显示 pathToFolder 的地方插入文件夹路径。在显示 的地方插入证书名称。

    1. 对于Mac:keytool -importcert -file /Users/myName/cert/amazon.cer -keystore JDKpath/Contents/Home/lib/security/cacerts -alias "amazon.cer"

    2. 对于 Windows:keytool -importcert -file /Users/myName/cert/amazon.cer -keystore JDKpath\lib\security\cacerts -alias  "amazon.cer"

  4. 打开 Anypoint Studio .ini 文件。有关如何打开此文件的更多信息,请参考如何找到 AnypointStudio ini 文件

  5. 查看 -vm 参数,该参数显示了 Studio 正在使用的 Java 安装。V8 意味着 JDK 8,如果没有提到版本,那么它是 JDK11。此示例显示的是 JDK 11:
    用户添加的图像
  6. 转到安装 Studio 的文件夹,然后导航到插件,现在找到 .ini 文件中列出的 JDK 文件夹。它将是一个以“org.mule.tooling.jdk”开头的文件夹。在示例屏幕截图中,"org.mule.tooling.jdk.macosx.x86_64_1.1.1"是 JDK 文件夹,

    1. 对于 Mac:它类似于:
      用户添加的图像
    2. 对于 Windows:它类似于:
      用户添加的图像

  7. 将路径复制到 .ini 文件中列出的 JDK,在文本编辑器中,将 JDKpath 替换为复制的路径。这是完整命令的外观。

    1. 对于 Mac:keytool -importcert -file /Users/myName/cert/Amazon.cer -keystore /Applications/AnypointStudio710.app/Contents/Eclipse/plugins/org.mule.tooling.jdk.macosx.x86_64_1.1.1/Contents/Home/lib/security/cacerts -alias "Amazon.cer"

    2. 对于:keytool -importcert -file /Users/myName/cert/amazon.cer -keystore /Applications/AnypointStudio710.app/Contents/Eclipse/plugins/org.mule.tooling.jdk.win32.x86_64_1.1.1\lib\security\cacerts -alias  "amazon.cer"

  8. 对下载的所有证书复制该命令。确保每个证书都有唯一的一行。 例如,如果您正在使用 Mac,并且有三个证书和一个名为“cert”的文件夹,您应该有三个独特的命令,如下所示。确保包含“cacerts”:

    1. keytool -importcert -file /Users/myName/cert/certificate_1.cer -keystore /Applications/AnypointStudio710.app/Contents/Eclipse/plugins/org.mule.tooling.jdk.macosx.x86_64_1.1.1/Contents/Home/lib/security/cacerts -alias "certificate_1.cer"

    2. keytool -importcert -file /Users/myName/cert/certificate_2.cer -keystore /Applications/AnypointStudio710.app/Contents/Eclipse/plugins/org.mule.tooling.jdk.macosx.x86_64_1.1.1/Contents/Home/lib/security/cacerts -alias "certificate_2.cer"

    3. keytool -importcert -file /Users/myName/cert/certificate_3.cer -keystore /Applications/AnypointStudio710.app/Contents/Eclipse/plugins/org.mule.tooling.jdk.macosx.x86_64_1.1.1/Contents/Home/lib/security/cacerts -alias "certificate_3.cer"

步骤 3:将证书安装到 Java 信任存储

  1. 以管理员身份打开 Mac 中的终端或 Windows 中的命令提示符。您可以在任何目录下。粘贴在前一节中创建的每个 keytool 命令,一次粘贴一个。

  2. 输入密码“changeit”。密码全部小写,没有空格。

  3. 如果询问您是否信任该证书,请键入“y”。

  4. 运行命令后,重启 Studio。

  5. 即使在安装了证书之后,如果 Windows 上的证书错误仍然存在,请联系您的 IT 团队将 Studio URL 列入白名单。有关更多信息,请参考要运行 Anypoint Studio,我的 IT 团队需要将哪些 URL 列入白名单?

其他资源

HTTPS 调用失败,出现“SunCertPathBuilderException:找不到请求目标的有效证书路径”或“一般的 SSLEngine 问题”

知识文章编号

001122500

 
正在加载
Salesforce Help | Article