智能客服
你问我答,随时在线为你解决问题
问题现象
https接口httpRequest.request请求报错:“SSL peer certificate or SSH remote key was not OK”。
解决措施
HTTPS证书用于保护网站安全。HTTPS证书校验是在建立连接时验证证书,确保连接安全。
HTTPS校验主要包括以下几个步骤:
本题中的报错出现在第三步,即客户端对证书校验报错。
客户端对证书的校验,验证SSL证书的四个方面:
如果客户端未对证书进行校验,可能会导致中间人攻击。中间人攻击包括SSL劫持和SSL剥离。
SSL劫持原理:第三方攻击者会先接入请求方和接收方之间,通过伪造的证书与请求方交换数据,再以请求方的身份与接收方进行数据交互。SSL劫持通常发生在用户安装了未经权威CA认证的证书时,因此需要进行证书校验。

SSL剥离通常发生在HTTP请求中,现代网站多强制使用HTTPS。
问题1:开发者应对服务端的证书进行上述四个方面的检查,确认无误。如果服务端证书是自定义的CA,即SSL证书不是由浏览器中“受信任的根证书颁发机构”颁发,可以通过httpRequest.request接口的HttpRequestOptions参数中的caPath设置自定义CA的路径。设置此参数后,系统将使用指定路径的CA证书,开发者需确保该路径下CA证书的可访问性。否则,系统将使用预设的CA证书,预设CA证书位置为:/etc/ssl/certs/cacert.pem。
参考链接