问题标签 [pkix]

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 投票
2 回答
1066 浏览

ssl - 检索 PEM 格式证书的到期时间

我需要通知客户他们的证书将在几天后过期,因此请在此之前更新 TLS 加密以按预期工作。

如何检索 PEM 格式证书的到期时间?

0 投票
0 回答
149 浏览

java - 进行gradle构建时无人机失败

我正在尝试使用基础映像 openjdk:8-jdk-alpine 在无人机中进行 ./gradlew 构建。但是我的 java 需要连接到 https 源以获取一些文件,并且在执行此操作时失败,因为基本映像没有包含证书。

有没有办法克服这个问题?我们可以将证书添加到无人机管道中,还是可以尝试创建一个包含我的证书的全新基础 jdk 映像?下面是我的drone.yml 文件的片段

错误信息:

[ant:xjc] [错误] sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

0 投票
1 回答
26 浏览

ssl - 关于公钥,有些东西对我来说没有意义

服务器向客户端发送数据,客户端使用公钥解密数据。很简单。但是,如果有人用公钥欺骗线路或得到加密的消息包,他/她不能使用公钥窃取数据吗?

我的思维过程有什么问题。

谢谢

0 投票
5 回答
11319 浏览

jenkins - jenkins pluginManager 'Check Now' '无法找到有效的证书' 错误

我刚刚在我的 Windows 机器上安装了一个新的 jenkins 2.77 实例,运行 Java 1.8.0 #60。

我原以为会有一些默认插件,但在创建实例时似乎没有安装任何插件。

当我去检查可用的插件选项卡时,它显示:

Update information obtained: N/A ago

当我单击“立即检查”按钮时,出现以下堆栈跟踪错误:

堆栈跟踪:

根据这篇文章,我收集到我需要进行某种密钥或 ssh 配置,但我不清楚要使用的所有变量,因为它们适用于此特定错误。

我该如何解决这个问题?

2017 年 9 月 11 日更新:

  • 我卸载了 Java,然后安装了最新的 Java,1.8.0 #44。
  • 我卸载了 Jenkins 并删除了 Program Files 中的文件夹。
  • 我安装了詹金斯 2.77

这次在设置向导中,我注意到一个页面通知我 Jenkins 离线。

我不确定这意味着什么,因为我可以连接到互联网。无论出于何种原因,我都认为詹金斯不能。

我现在非常确定,当我最初安装 Jenkins 时,我看到了这个页面并选择跳过插件安装。“Jenkins 离线”消息很可能与“无法找到请求目标的有效证书路径”有关。

这篇文章中似乎有类似的问题。

0 投票
1 回答
1628 浏览

c - 如何从 X509 证书中获取关键使用值?

我需要从 x509 证书中检索信息以验证密钥使用情况。例如,我需要确保证书可用于数字签名 (80)。

它可以通过以下代码段打印出来,但我实际上想验证证书是否具有特定属性。我需要的是一种方法boolean certHasAbility(X509 * cert, int purpose );,例如目的可以是DigitalSignature(80)Key Encipherment(20)

0 投票
1 回答
2529 浏览

java - 如何使 https://localhost:port 在嵌入式 Jetty 中使用自签名证书?

目标:我希望这个 url ( https://localhost:8083 ) 在我的本地机器上使用我的自签名证书。

首先,我引用了这个网址(https://gist.github.com/oslego/f13e136ffeaa6174289a),我所做的是:

$ openssl genrsa -des3 -out server.orig.key 2048

$ openssl rsa -in server.orig.key -out server.key

$ openssl req -new -key server.key -out server.csr

国家名称(2 个字母代码)[AU]:

...

通用名称:localhost.ssl

...

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

$ echo "127.0.0.1 localhost.ssl" | sudo tee -a /private/etc/hosts

然后我通过执行将 server.crt 转换为 server.pem

$ openssl x509 -in server.crt -out keystore.pem -outform PEM

$ keytool -import -trustcacerts -alias testCert -file keystore.pem -keypass testpassword -keystore keystore.jks -storepass testpassword

$ keytool -export -alias mykey -keystore keystore.jks -rfc -file truststore

$ vim keystore.password // 通过 vim 手动创建 keystore.password

但是当我访问https://localhost:8083时,它不适用于 SSL。

然后,
我还创建了另一个证书

通用名称:本地主机

$ echo "127.0.0.1 本地主机" | sudo tee -a /private/etc/hosts

但这也不起作用。如何让我的https://localhost:8083 使用我的自签名证书?

仅供参考,我使用嵌入式 Jetty,Java 通过定义 keystore.jks、truststore 和 keystore.password 文件位置的配置文件正确读取所有信息。

0 投票
1 回答
2973 浏览

security - 本地主机 / 127.0.0.1 的证书 SSL_ERROR_BAD_CERT_DOMAIN

我正在创建一个本地应用程序,该应用程序在 localhost:8080 地址中启动一个网络服务器。我正在尝试为它创建一个证书,以便我可以使用 HTTPS 访问它,但我很难做到这一点。

首先,我创建了自己的 CA,然后使用 localhost:8080 通用名称创建了一个证书。然后,我将我的 CA 添加到计算机上的受信任机构(顺便说一下,我使用的是 Windows 10),但是当我打开我的网站时,我使用 Firefox 和 Chrome 遇到了 BAD_CERT_DOMAIN 错误。

我还尝试使用 127.0.0.1:8080 作为通用名称创建另一个证书,但它也没有用。

我做错了什么?这些浏览器是否总是拒绝以 localhost 作为 CN 的证书?

更新

我创建了一个这样的配置文件:

这些是我用来生成证书的命令:

签名请求:openssl req -out myrequest.csr -newkey rsa:2048 -nodes -keyout mykey.key -config myconfig.conf

当我运行这个命令时,CN = localhost 127.0.0.1

使用我的 CA 签名:openssl x509 -req -in myrequest.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out mycertificate.crt -days 36500 -sha256

但是,即使在我告诉他们信任我自己的 CA 之后,我仍然会为 Firefox 和 Google Chrome 获得 BAD_CERT_DOMAIN。

0 投票
0 回答
1049 浏览

security - 如何使用 OpenSSL 以与“Certificate Assistant.app”相同的方式创建 CSR、P12 文件

问:
我想知道创建CSR(.certSigningRequest)和导出P12文件需要哪些选项,就像“Certificate Assistant.app”一样。

我将这个CSRP12文件用于 Apple Push Service。

这就是我所做的:
1.证书信息
2.密钥对信息3.在 Apple Developer Program 网站上
上传并下载文件。 4. 打开文件,这就是我在“钥匙串访问”上看到的。 5. 导出和作为“钥匙串访问” 。CSRCER
CER
certificateprivate keyapn-cert.p12apn-key.p12

现在我正在尝试自动化这些操作。
我用谷歌搜索并尝试了以下openssl命令,但与上述步骤的结果不同。private key没有出现在“钥匙串访问”上。

$ openssl genrsa -out private.key 2048
$ openssl req -new -key private.key -out server.csr -subj "/emailAddress=foobar@example.com, CN=MyAppNameHere, C=JP"

我希望OpenSSL最好使用命令的解决方案。
如果fastlane/pem能解决这个问题,我欢迎一些提示。

谢谢。

.

我提出这个问题的背景原因:
我在办公室担任 Apple Developer Enterprise Program 的代理。我有理由不让开发人员作为管理员/成员加入团队。

我收到开发人员的请求,并在 Apple Developer Program 网站上手动创建证书。

我想自动化这项工作,因为我是程序员 :)现在我使用和库
编写了 python 脚本并自动化了这些,但是很脏而且维护起来很差。SeleniumATOMac

0 投票
1 回答
1196 浏览

python - 如何使用 Python 和 Flask 创建自签名证书

我的应用程序作为 Docker 容器运行。

  1. 使用 Angular js 的用户界面
  2. 中间件(在某个端口上的 python 烧瓶服务器中运行)
  3. 数据库

现在我想使用 OpenSSL 在 UI 和 Python 烧瓶服务器中创建 SSL 证书。我在两个 Docker 容器中都使用了相同的证书,这些证书通过 Nodeport 暴露在外部世界中。

即,UI 在https://10.0.0.1:31112上运行,这是连接到https://10.0.0.1:31113

但是如果我想通过接受一个证书来访问整个应用程序,那么从浏览器中。但是,如果我接受客户不希望的这两个证书(即,两个 URL 接受一个接一个),则该应用程序是可访问的。

0 投票
1 回答
892 浏览

tomcat - 将自签名证书链添加到密钥库

我需要使用我的自签名证书链创建一个 .keystore 文件。

我尝试了2种方法。

方法一:

https://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/

我使用上面的帖子来创建我的自签名证书链。我将 .crt 转换为 .p7b 并尝试创建密钥库文件,但在 OpenSSL 中出现“输入不是 X.509 证书”。

我正在使用Windows机器。所以我打开了 .crt 文件,单击“复制到文件”并将其保存为 .p7b 文件。

方法二:

https://www.pixelstech.net/article/1450354633-Using-keytool-to-create-certificate-chain

我使用上面的帖子创建了带有证书链的密钥库,但是当我将它添加到时,我的浏览器中出现“无法访问此站点”错误,并且日志中没有错误。

我的连接器如下:

如果密钥库文件只有一个证书,则上述连接器有效。因此,问题在于生成密钥库的过程。

如何成功地将证书链添加到我的密钥库?

编辑 :

我将密钥库的格式从.keystore 修改为.p12。我的应用程序现在运行,但“Didier Stevens 代码签名 ( https://DidierStevens.com )”的状态显示“此证书正常”。而“Didier Stevens(https://DidierStevens.com)”的状态显示“此 CA 根证书不受信任,因为它不在受信任的根证书颁发机构存储中。”。应该是相反的,但不知道是什么问题。

在此处输入图像描述