Okhttp3,如果为IP地址发出SSL证书,则无法验证主机名

时间:2017-01-10 06:11:09

标签: android ssl-certificate retrofit2 android-networking okhttp3

OkHttp 尝试使用IP地址连接到服务器时发生以下异常:

javax.net.ssl.SSLPeerUnverifiedException: Hostname 195.168.2.68 not verified:
       certificate: sha256/rxO7r+KJOj2iTLR+MPWF7rNV45BYYQKvhlsb4K6yHXE=
       DN: CN=test sandbox,OU=it,O=abc,L=newyork,ST=western,C=us
       subjectAltNames: []

服务器具有为服务器的IP地址生成的自签名SSL证书。

基本网址为: https://195.168.2.68:8092/Mobile/

这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

  

主机名195.168.2.68未经过验证

  

我尝试使用CN的各种值,我也使用了ip。现在cn值是'test'。

由于195.168.2.68test不匹配,所有内容都按预期工作,因为CommonName主要用于匹配,因此您需要正确颁发的证书,或者您可以委托test域指向195.168.2.68并使用test而不是IP来使其与CN匹配。但我先把证书修好了。