gpt4 book ai didi

java - Spark 应用程序不发送中间/链证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:38 26 4
gpt4 key购买 nike

我有一个使用 Spark Java 框架编写的应用程序,启用了 TLS。

参见:

Service https = ignite()
.port(8443)
.secure(keystorePath, keystorePass, truststorePath, truststorePass);

这是通过将传入的 443 重定向到 8443 的 iptables 规则在端口 443 上提供的。

我遇到的问题是,在使用 Qualys ssl 实验室测试 (https://www.ssllabs.com/ssltest/) 时,服务器未提供已在我的信任库中配置的中间证书。

当我使用 openssl s_client 时会出现类似的结果:

Verify return code: 21 (unable to verify the first certificate)

随着

depth=0 /OU=Domain Control Validated/OU=PositiveSSL/CN=my.app.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/OU=PositiveSSL/CN=my.app.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 /OU=Domain Control Validated/OU=PositiveSSL/CN=my.app.com
verify error:num=21:unable to verify the first certificate
verify return:1

据我所知,服务器(我想是 spark java 应用程序或嵌入式 Jetty)似乎没有提供用于链验证的中间证书。

浏览器认为该站点是安全的,但我认为这是因为浏览器正在自行下载必要的中间证书。

这是一个问题的原因是我正在尝试使用 Stripe 支付网络钩子(Hook),并且它们在 TLS 证书链有效方面有严格的规定。

我不确定从哪里开始弄清楚为什么我的应用程序没有提供这些中间证书。谁能提供一些建议?

最佳答案

我或多或少有同样的问题。我按照 Java Spark 网站上的说明进行操作(它们很少),但我的努力只得到一个服务器错误。

我在我的 keystore 文件中导入了第三方证书。我在 java keytool 外部生成了 CSR。

我将 keystone 文件移到了“mydomain.com”所在的服务器上。

我有相同的基本代码来执行测试“secureHello”(根据他们的文档),将路径传递给 keystore.jks 文件作为第一个参数,将密码作为第二个参数。

结果:服务器错误。

不确定接下来可以尝试什么。显然,我错过了一些东西。

到目前为止(今天)我的头在 table 上敲了 4 个小时......

关于java - Spark 应用程序不发送中间/链证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44911646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com