当前位置: 首页 > 知识库问答 >
问题:

具有SHA-2签名证书的SunCertPathBuilderException

顾光明
2023-03-14

我最近获得了一个web站点的新证书,并按照推荐使用SHA-2签名算法生成了该证书。在我尝试用Java(Java.net.urlconnection)建立到该web站点的安全连接之前,一切看起来都很好,这导致了一个

SunCertPathBuilderException: unable to find valid certification path to requested target

这通常在自签名证书中发生。只是这不是一个自签名证书,而且HTTPS请求在浏览器中运行良好。

共有1个答案

余铭晨
2023-03-14

我们在java中大量使用sha-2证书,所以我很确定问题不是sha-2本身,而是颁发证书的CA。

很可能是因为它是一个sha-2证书,所以它是从一个更新的sha-2 CA发出的,该CA在web浏览器中注册,但不在Java的默认信任库(cacerts文件)中注册。sha-1证书可能起作用,因为它是从信任库中存在的旧CA颁发的。

您需要导出颁发sha-2 web站点证书的CA证书,并将其导入java信任库。如果您将url放入web浏览器,您应该能够单击锁定图标并看到整个链。CA证书是顶部的证书。

    null

现在java.net.urlConnection应该可以工作了。我们经常遇到这个问题,如果Oracle发布cacerts文件的更新就好了。

 类似资料:
  • 我有一个带有这些命令的自签名证书链,并在Apache服务器上配置了它们 但是当我尝试 我从openssl中得到一个错误 用于生成证书的命令或配置文件有问题吗? [req] distinguished_name=req_distinguished_name x509_extensions=v3_ca dirstring_type=nobmp [req_distinguished_name] comm

  • 问题内容: 我正在尝试使用自签名服务器证书建立TLS连接。 我使用以下示例代码生成了证书:http : //golang.org/src/pkg/crypto/tls/generate_cert.go 我相关的客户端代码如下所示: 以及类似的服务器代码: 因为服务器证书是自签名的,所以对于服务器和客户端CA_Pool使用相同的证书,但这似乎不起作用,因为我总是会收到此错误: 我怎么了 问题答案:

  • 我正在尝试将谷歌地图迁移到华为地图套件。现在我应该为华为应用程序库生成本地SHA256指纹,我正在遵循华为提供的以下官方文档:配置应用程序库连接 我在应用程序库中创建了我的项目 我已经将我的应用程序添加到该项目中 我下载了文件 我在Android Studio中生成了。jks证书 然后,为了在cmd提示符中生成一个签名证书指纹以添加到Huawei App Gallery,我转到安装JDK的目录,然

  • 我一直在使用bouncy castle生成自签名证书,在更新计算机A上运行的win7操作系统之前,一切都很顺利。更新后,使用CERTMGR查看证书时,证书出现以下错误:此证书具有无效的数字签名。 同一证书不会在未收到Microsoft安全更新的另一台计算机(B)上显示错误。然后,我在B上生成了一个没有错误的新证书,然后将其安装在a上,出现了相同的错误。(此证书的数字签名无效。) 我回到弹跳城堡并运

  • 因为存在安全隐患,如果你能辅助签名过程,最好避免使用自动签名。 在一般情况下,如果你想自动加入大量的客户端,最好在 Puppetmaster 上预先生成证书,然后将其作为构建过程的一部分推送给客户端。 你可以使用 puppet cert --generate <hostname> 命令生成预签名证书(pre-signed certificate)。 操作步骤 使用如下命令为 client1.exa

  • 但我的问题是,当我从Eclipse导出项目以生成签名apk时,它不允许使用现有的密钥库;此外,当我选择existing keystore时,别名的下拉列表为空。所以每次我都要创建新的密钥库。在选择退出密钥存储时,它还显示“无效密钥存储格式”。请提供我的一些解决方案,以我如何生成一个APK与相同的SHA-1密钥。