最近的SSL升级还引入了打破REST API的SNI

时间:2016-12-21 08:57:46

标签: rest api servicenow sni pushbullet

我们使用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?

加文。

1 个答案:

答案 0 :(得分:1)

雅加达发布时已添加SNI支持:

https://docs.servicenow.com/bundle/jakarta-servicenow-platform/page/integrate/outbound-web-services/concept/outbound-sni-support.html

默认情况下,雅加达禁用SNI支持。如果已在ServiceNow实例上启用它,则将glide.outbound.tls_sni.enabled属性设置为true。将其更改为false,您的API调用应停止使用SNI。