最近SSL证书被添加到服务器,所以我将android中的url从http://appname.com更改为https://www.appname.com,这在marshmallow设备和Postman上工作正常,但在Lollipop设备上抛出javax.net .ssl.SSLException:证书中的主机名不匹配:www.appname.com!= www.companyname.com或www.companyname.com OR companyname.com
我尝试在setHostnameVerifier中添加companyname.com,但它没有帮助。这是代码:
{
"_id" : ObjectId("58db886e4b9e731aaefa9821"),
"name" : "Leonard"
},
{
"_id" : ObjectId("58db886e4b9e731aaefa9823"),
"name" : "Raj"
}
这可能是什么问题?以及如何解决这个问题?
答案 0 :(得分:1)
错误表示已颁发证书的主机名(主题中的CN字段)与服务器名称不匹配。
如果您使用的是网址https://www.appname.com
,则应将证书颁发给www.appname.com
或*.appname.com
。证书的主机名是appname.com
,然后错误是正确的,您可以使用https://appname.com
但不能使用https://www.appname.com.
在https://appname.com
部署您的服务器,为www.appname.com
颁发新证书或设置HostnameVerifier
以允许www.appname.com