我们使用 ServiceNow 通过 REST API 与 PushBullet 进行通信。最近我们开始收到以下错误
javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接
还有一个 500 HTTP 错误。
经过大量研究,似乎 SNI 已作为 SSL 证书升级的一部分添加https://en.wikipedia.org/wiki/Server_Name_Indication
ServiceNow 声明他们不支持任何版本的 SNI。
您看到的测试来自 SoapUI 和 Postman。
我们对此进行测试的方法是使用以下命令:
openssl s_client -connect api.pushbullet.com:443
(this fails)
Adding the -servername parameter is used to pick the correct domain from the certificate that now contains multiple domains:
openssl s_client -connect api.pushbullet.com:443 -servername api.pushbullet.com
CONNECTED(00000003)
depth=1 /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G2
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/CN=*.pushbullet.com
i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G2
1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G2
i:/C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGbDCCBVSgAwIBAgIQTyKV1VxdJTcntEU7ErB0mjANBgkqhkiG9w0BAQsFADBH
<snip>
现在有什么方法可以在没有 SNI 的情况下访问 PushBullet API?
加文。