问题标签 [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.
ssl - 检索 PEM 格式证书的到期时间
我需要通知客户他们的证书将在几天后过期,因此请在此之前更新 TLS 加密以按预期工作。
如何检索 PEM 格式证书的到期时间?
java - 进行gradle构建时无人机失败
我正在尝试使用基础映像 openjdk:8-jdk-alpine 在无人机中进行 ./gradlew 构建。但是我的 java 需要连接到 https 源以获取一些文件,并且在执行此操作时失败,因为基本映像没有包含证书。
有没有办法克服这个问题?我们可以将证书添加到无人机管道中,还是可以尝试创建一个包含我的证书的全新基础 jdk 映像?下面是我的drone.yml 文件的片段
错误信息:
[ant:xjc] [错误] sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
ssl - 关于公钥,有些东西对我来说没有意义
服务器向客户端发送数据,客户端使用公钥解密数据。很简单。但是,如果有人用公钥欺骗线路或得到加密的消息包,他/她不能使用公钥窃取数据吗?
我的思维过程有什么问题。
谢谢
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 离线”消息很可能与“无法找到请求目标的有效证书路径”有关。
这篇文章中似乎有类似的问题。
c - 如何从 X509 证书中获取关键使用值?
我需要从 x509 证书中检索信息以验证密钥使用情况。例如,我需要确保证书可用于数字签名 (80)。
它可以通过以下代码段打印出来,但我实际上想验证证书是否具有特定属性。我需要的是一种方法boolean certHasAbility(X509 * cert, int purpose );
,例如目的可以是DigitalSignature(80)
或Key Encipherment(20)
。
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 文件位置的配置文件正确读取所有信息。
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。
security - 如何使用 OpenSSL 以与“Certificate Assistant.app”相同的方式创建 CSR、P12 文件
问:
我想知道创建CSR(.certSigningRequest)
和导出P12
文件需要哪些选项,就像“Certificate Assistant.app”一样。
我将这个CSR
和P12
文件用于 Apple Push Service。
这就是我所做的:
1.证书信息
2.密钥对信息3.在 Apple Developer Program 网站上
上传并下载文件。
4. 打开文件,这就是我在“钥匙串访问”上看到的。
5. 导出和作为“钥匙串访问” 。CSR
CER
CER
certificate
private key
apn-cert.p12
apn-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 脚本并自动化了这些,但是很脏而且维护起来很差。Selenium
ATOMac
python - 如何使用 Python 和 Flask 创建自签名证书
我的应用程序作为 Docker 容器运行。
- 使用 Angular js 的用户界面
- 中间件(在某个端口上的 python 烧瓶服务器中运行)
- 数据库
现在我想使用 OpenSSL 在 UI 和 Python 烧瓶服务器中创建 SSL 证书。我在两个 Docker 容器中都使用了相同的证书,这些证书通过 Nodeport 暴露在外部世界中。
即,UI 在https://10.0.0.1:31112上运行,这是连接到https://10.0.0.1:31113。
但是如果我想通过接受一个证书来访问整个应用程序,那么从浏览器中。但是,如果我接受客户不希望的这两个证书(即,两个 URL 接受一个接一个),则该应用程序是可访问的。
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 根证书不受信任,因为它不在受信任的根证书颁发机构存储中。”。应该是相反的,但不知道是什么问题。