问题标签 [cacerts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
23 浏览

java - PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求的有效证书路径

我有以下 java 代码来发送 POST 请求。

执行时返回以下错误:

PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

根据我对该主题的研究,原因通常是因为 POST 请求的 url 是 https 并且需要将其证书添加到 jdk 密钥库(cacerts)。

所以我从 https url 下载了证书并添加到 cacerts 中,如下所示。

keytool -import -alias testcert1 -keystore "...\jdk1.7.0_80\jre\lib\security\cacerts" -file certificate.cer

在 \jdk1.7.0_80\jre\lib\security\cacerts 运行

证书已成功导入 cacerts。

运行命令读取 cacerts 将显示证书。

但错误仍在继续。

关于可能是什么问题的任何其他想法?

应用程序正在咨询的 cacerts 可以在其他地方吗?

如果是这样的话怎么知道在哪里。

0 投票
0 回答
253 浏览

java - 将 x.509 DER 与 Base 64 证书添加到 cacerts

我从我的 java API 需要连接的 https url 导出了一个证书。

然后导入java jdk cacert,如下:

  1. 单击 chrome 上 url 的开头的挂锁图标

  2. 证书 > 详细信息 > 复制到文件

  3. 选择 x.509 base 64 > 保存文件

  4. 在 cacerts 上安装证书:

    keytool -import -alias testcert1 -keystore "c:\jdk1.7.0_80\jre\lib\security\cacerts" -file testcert1.cer

  5. 运行以下命令来读取 cacerts:

    keytool -list -keystore c:\jdk1.7.0_80\jre\lib\security\cacerts

结果,它列出了几个证书(moslty 已经默认随 jdk 提供)。

它还显示了其中新添加的证书。

然后我执行了相同的过程,但不是在步骤 3 中选择 base 64 证书,而是选择 x.509 DER。

然后,当我阅读 cacerts 文件(第 5 步)时,只显示一个证书(新添加的证书)。

已经存在的所有其他证书不再显示。

想知道如果在我的应用程序中使用 DER 版本,这是否是一个问题。

问这个问题是因为我的 API 只有在使用 DER 版本时才有效。它不适用于 base 64 版本。

谢谢。

0 投票
1 回答
337 浏览

python-3.x - 为什么 Python 不加载 ca 证书?

我已将捆绑证书添加到 python 默认文件

并且证书似乎运行良好

但是,当我尝试在没有明确指定证书文件的情况下执行相同的请求时,它会失败。

据我了解,这不应该发生,对吧?为什么 Python 没有加载我在默认路径中提供的证书?

我正在使用 Python 3.7.1

谢谢

0 投票
2 回答
2068 浏览

docker - Docker RUN 与 keytool 导入到 Java 信任库成功但在映像构建期间同时失败?

我必须将自定义根证书添加到 docker 环境中的 Java 信任库。所以我在我的 dockerfile 中添加了以下命令:

构建 docker 映像时,我得到以下输出:

我对以下事实感到困惑:

  • 输出Certificate was added to keystore似乎表明成功执行keytool
  • 同时,我得到keytool error一个非零返回码,所以没有成功
  • 声称不存在的文件,实际上存在(可能是访问问题吗?)

我检查过的内容:

  • %JAVA_HOME似乎可用,因为错误消息显示正确的路径
  • 当我在没有上述RUN命令的情况下构建映像时,然后在 docker 容器内发出完全相同的命令,它可以完美运行
  • 我检查了与/bin/sh外壳相同的使用,以确保它不是外壳 - 工作
  • 不依赖于当前目录,因为所有路径都是绝对的

现在我没有更多的想法如何追踪这个问题。

0 投票
0 回答
105 浏览

java - PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:代理后面

Android Studio 突然开始出现此错误:

我已经导出了证书(名称:dlgooglecom)并将其添加到 cacert 但仍然是同样的错误。

输出 :

请有人指导。我在代理后面,代理连接工作正常。

0 投票
2 回答
108 浏览

python - 如何为 python 请求获取 ca 证书?

我正在尝试运行一个连接到 myhost.comapny.com:8443 的 python 脚本,但它在运行时给出 SSL 证书错误

我的代码如下:

我已将证书添加为:

但它仍然无法正常工作,并且出现与 SSL 验证失败相同的错误。似乎我没有正确生成证书。有人能指出我该如何正确地做到这一点吗?

0 投票
0 回答
56 浏览

security - 用于下载所有 CA 证书的 API 或任何来源

希望你一切都好!

我的问题是关于 CA 受信任的证书列表。我有一个用 Apache Camel 用 Ja​​va Spring 编写的中间件,该接口使用 Web API 连接不同的源系统和目标系统(可以期望同步和异步)。源/目标之间的通信是使用 1 / 2 方式 SSL 建立的,为了成功通信,我们在信任库中维护客户端证书。每当证书过期时,通信都会按预期失败,为了使其正常工作,我们必须上传最新的 CA 证书。有很多这样的集成,每次证书到期时,我们都需要为每个接口手动执行此活动。

我们的想法是自动化这个过程,只要证书过期,就会上传新的证书。我浏览了几篇关于 Mozilla、Microsoft 和其他人维护的 CA 列表的帖子,但我没有找到任何参考或 API 来下载它。您能否帮助我们如何轻松管理证书。

谢谢,KP

0 投票
0 回答
31 浏览

ubuntu - 无法为所有用户将根 CA 导入 Ubuntu

我现在尝试了几个小时将公司签名的根 CA 导入 Docker Image/Container 并且失败了。

我把它们放在那些地方

然后运行更新 sudo update-ca-certificates

当我尝试以 root 用户身份卷曲某些东西时,它可以完美运行:

但是当我以普通用户身份运行时,我收到了 SSL 错误:

当我检查 Certs curl 正在使用什么时,我得到以下信息:

我查看了所有文件夹的权限,每个用户都应该具有读取/执行权限。我什至试过把所有东西都放在 777 上一次。

显然,就像 curl 一样,当我以ubuntu.

知道我可以在哪里为所有用户导入证书吗?

0 投票
0 回答
19 浏览

ssl - 当我们从旧网址迁移到新网址时,如何在迁移案例中管理证书

我将逐点列出场景。

  1. 我们有一个应用程序正在当前生产中运行,比如在 URL 1 上。
  2. 现在我们正在将我们的应用程序设置为新 URL 上的新基础设施,例如 URL2。
  3. 我们有超过 50k+ 客户使用我们的旧网址,我们不想要求我们的客户更改网址。
  4. 除了来自浏览器的应用程序访问之外,如果旧 URL 即 URL1,客户正在通过 https 连接上的 rest api 访问我们的应用程序,并带有证书
  5. 我们已经更改了旧 URL 的目标 (DNS change-CNAME),现在当有人点击 OLD url 时,他们会连接到新迁移的应用程序。
  6. SAN For URL2 证书包含 URL1 和 URL2 名称。

问题 :

使用 rest api 调用的客户现在由于证书问题而失败,他们的旧 URL 证书不再有效,我们不能要求 50k+ 客户安装新证书。安装新证书可能需要重新启动客户应用程序,这是不可行的方案。

我们如何解决这个问题?或者如果有任何其他方法可以解决这个问题?

0 投票
0 回答
17 浏览

java - Glassfish cacerts keystore.jks 到 keystore.jks

是否有一些机会,如何将所有密钥库证书导出或同步到另一个 .jks ?

我需要使用现有的 .jks 更改环境,并将所有已导入的内容放置到另一个环境中。用旧的替换新的,我不确定是否可以工作。

这是关于 glassfish 的 cacerts (从现有的到完全不同的地方的新的)

由于这些证书的数量,我无法一个接一个地导出它。必须通过一次操作完成。