问题标签 [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 回答
9724 浏览

ssl - s_client 和 gethostbyname 失败

我正在与一家外部公司合作。让我们打电话给他们evilcorp.com。我想使用 openssl 来调试双向 SSL 握手。

  • https://evilcorp.com设置为不需要客户端身份验证。
  • https://evilcorp.com/webservices设置为要求客户端身份验证。

如何在 openssl.xml 中指定此路径。所以基本上这有效:

但这不起作用,让我gethostbyname 失败

我怎样才能让它工作(如果可能的话)

0 投票
3 回答
3583 浏览

windows - 适用于 64 位 Windows 和“无共享密码”的 OpenSSL

我刚刚为 64 位 Windows 编译并安装了 OpenSSL。我使用以下命令创建了一个自签名证书和一个私钥:

我现在正在使用 Firefox 测试在 OpenSSL Wiki 上找到的“简单 TLS 服务器”示例,并进行了一些修改以支持 Winsock,但我不断收到错误消息

(第一个数字总是变化的)在 SSL_accept() 函数执行期间。当使用 Wireshark 连接到某些 HTTPS 服务器时,我已经检查了 Firefox (v 43.0.1) 在其 TLS v1.2 Client Hello 中发送的 (11) 密码列表(因为在 localhost 上捕获很困难)并将其与支持的密码进行比较通过我安装的 OpenSSL(使用 找到openssl.exe ciphers -s -tls1_2 -V)。结果是有通用密码,所以我错过了什么?!

包含 statem_srvr.c 的第 1422 行的块如下,从 1420 开始:

对原始代码的修改在 while 循环之前和标题中:

编辑:当我尝试使用带有 TLSv1.2 的 s_client 连接到服务器时,会发生这种情况:

0 投票
1 回答
444 浏览

ssl - 客户端证书 URL 的 OpenSSL 支持

我试图确定OpenSSL 库是否支持来自 RFC 4366 的客户端证书 URL 。我在 OpenSSL 文档中找不到任何信息。

在文件tls.h中,我可以看到以下定义:

还有一种使用客户端扩展的方法:

我查看了 OpenSSL 源代码,并且TLSEXT_TYPE_client_certificate_url仅在文件s_cb.c中用作回调支持:

当我搜索时,TLSEXT_TYPE_server_name我可以看到文件中有此标志示例的用法t1_lib.c

它让我明白了TLSEXT_TYPE_server_name扩展是受支持的,但没有关于TLSEXT_TYPE_client_certificate_url.

0 投票
0 回答
1328 浏览

java - 如何修复 sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:

我正在点击一个 URL,XML 应该作为响应来自该 URL。当我从浏览器中点击 URL 时,我可以看到 XML。我想用 RestTemplate 完成同样的事情。

当我打印 URL 时,LOG.info(ptcACKPostURL.toString());我得到了我想要点击的确切 url。

但我越来越

0 投票
1 回答
1502 浏览

openssl - CSR 签名是如何构建的?

我正在尝试在嵌入式设备中生成 CSR(证书签名请求)。我已经在一个嵌入式设备中实现了一些 OpenSSL 功能。不幸的是,我只有几个可用的功能。到目前为止,我已经能够生成 RSA 私钥,现在我需要生成 CSR。

我的库没有任何功能,例如X509_REQ_new()X509_REQ_get_subject_name()等。因此,我通过直接创建 DER 文件来构建 CSR。

DER格式的CSR解码如下:

  1. ASN1序列
  2. 版本
  3. 主题名称
  4. 加密类型
  5. 模数和指数(来自我的 RSA 密钥)
  6. 属性
  7. 签名(这是我的问题所在)

如果我有所有可用的 OpenSSL 功能,我会使用X509_REQ_sign(x509_req, pKey, EVP_sha1()),但正如我之前所说,我没有任何可用的 X509 对象。

为了构建该部分,我需要签署什么?

0 投票
1 回答
840 浏览

groovy - SoapUING - Groovy - HTTPBuilder - PKIX 路径构建失败错误

我对 Groovy & SoapUING 还很陌生。我希望有人可以帮助我找出并修复此错误。谢谢!

我正在尝试做的事情:遍历表中的每个 db 行项目并将其用作输入以发出HTTPBuilder请求(GET 或 POST),或者作为路径中的查询(add baseURL/path/hello)或通过参数(add baseURL/path?searchNode="hello")。baseURL 是这样的https://search-test-env.ser.com

我遇到困难的地方:当我尝试通过HTTPBuilder.

错误: PKIX Path Building Failed

其他相关资料:

  • 使用 ReadyAPI 运行脚本。代码在 Groovy 中。
  • 最近将 httpbuilder jar 连同一些依赖项一起导入了 ReadyAPI/lib 文件夹。在 httpbuilder 可用的依赖项中,ReadyAPI 已经很少,所以我只选择了缺少的那些。其他 jar 名称:ojdbc6, ojdbc6_g, signpost-commonshttp4-1.2.1.1, ezmorph-1.0.6, json-lib-2.3-jdk15, xml-resolver-1.2, signpost-core-1.2.1.1, appengine-api-1.0-sdk-1.3.8, nekohtml-1.9.16, http-builder-0.7, http-builder-0.7-sources, http-builder-0.7-javadoc.
  • 该服务适用于没有 groovy 的手动请求(baseURL/path 上的简单 GET),它也适用于按字符串或按参数查询。
  • 证书已在密钥库中可用。尝试通过 cmd 使用 keytool(在 ReadyAPI/bin 文件夹中可用)命令,但收到 filenotfound 错误)。尝试导入 ReadyAPI\jre\lib\security。

代码:

运行此代码会引发PKIX Path Building Failed错误(没有可用的堆栈跟踪)和每个属性的内容:

0 投票
4 回答
6361 浏览

openssl - 仅从 openssl pem 文件中获取证书部分

我有一个 PEM 格式证书,其中包含 ASCII/UTF-8 文本中的所有标题。我想只输出证书本身。换句话说,介于以下之间的部分:

我可以通过简单地从源 pem 文件中剪切和粘贴来做到这一点。但是,我想使用 OpenSSL 来做到这一点。我查看了各种-text -certopt X但我尝试过的都没有只给出证书部分。

有什么方法可以使用 OpenSSL 仅输出编码证书?它是如何完成的?

0 投票
4 回答
52405 浏览

ios - 如何获取 SSL 固定的公钥哈希?

如何获取公共证书信息的哈希值以便能够在我的应用程序中执行 SSL Pinning?

我在我的 iOS 应用程序中使用 TrustKit,它要求我设置我期望的哈希值。我可以从哪里得到这个?

0 投票
1 回答
4026 浏览

ssl - 更改自签名证书的主题属性

我使用这个非常好的教程生成了一个自签名证书:

但是,当我导入证书时,主题(“颁发给”)和颁发者(“颁发者”)属性都在证书存储中显示为设置过程中提供的“通用名称”。如何创建 X509 证书并为 Subject 和 Issuer 指定不同的值?

0 投票
0 回答
6166 浏览

curl - 为什么 CURL 会为 *.mycomp 返回 SSL_ERROR_BAD_CERT_DOMAIN

我有 *.mydomain 的证书,并尝试使用https://my-host.mydomain访问主机。

这是详细的输出(有点乱)。

我见过几个案例,人们会抱怨 *.bla 与 bla 不匹配,但这不是我的情况。

我只有疯狂和荒谬的猜测:

  • 这可能与发行人处于完全独立的域中有关吗?
  • 也许我不允许发出 2 级通配符?(例如 *.ab 可以,但 *.b 不行)

以相同方式为 *.other.domain.com 获得的证书可以正常工作。