相关疑难解决方法(0)

为什么android会得到错误的ssl证书?(两个域,一个服务器)

我有两个域:foo.netbar.com.它们都具有SSL证书,并且在所有桌面和移动浏览器中都能很好地运行.它们托管在使用nginx配置的同一台服务器上.

但是,当我从本机Android应用程序中向域发出请求时,它会以某种方式从错误的域获取证书!这会导致IO异常:

request = new HttpPost("https://foo.net/api/v1/baz");
request.setHeader("Authorization", "user:pass");
response = httpClient.execute(request);
Run Code Online (Sandbox Code Playgroud)

...

javax.net.ssl.SSLException: hostname in certificate didn't match: <foo.net> != <bar.com> OR <bar.com> OR <www.bar.com>

什么会导致android/java尝试使用证书bar.com时,其他每个措施似乎表明服务器配置正确?nginx访问或错误日志中没有任何内容.bar.com在我的android项目中没有提到任何地方.

编辑:我不知道为什么,但似乎服务器正在使用证书为bar.com服务器IPhttps://198.245.xx.xxx

ssl android nginx androidhttpclient

17
推荐指数
1
解决办法
1万
查看次数

javax.net.ssl.SSLException:证书中的主机名与android不匹配

我正在创建一个Android应用程序,我在其中发送数据到Web服务,但我收到javax.net.ssl.SSLException的错误:证书中的主机名不匹配android这里是我的代码

 AsyncHttpClient clien= new AsyncHttpClient();


              Log.i("URL", String.valueOf(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode));
              clien.put(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode, new AsyncHttpResponseHandler() {}
Run Code Online (Sandbox Code Playgroud)

其中series_event_raceid = 103和qrcode = R12g***

有人请帮助我

这是我的logcat

08-18 10:06:24.272: W/System.err(5297): javax.net.ssl.SSLException: hostname in certificate didn't match: <development.racerunner.com> != <racerunner.com> OR <racerunner.com>
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:185)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:114)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:95)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-18 10:06:24.272: W/System.err(5297):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-18 10:06:24.272: W/System.err(5297): …
Run Code Online (Sandbox Code Playgroud)

android qr-code http android-asynctask

8
推荐指数
1
解决办法
1万
查看次数