相关疑难解决方法(0)

Android 2.3中没有"对等证书"错误,但不是4

获取"javax.net.ssl.SSLPeerUnverifiedException: No peer certificate error"运行Android 2.3但不是4的模拟器.在4中它完美运行.我正在尝试通过https连接到实时服务器.它使用有效的Thawte证书,适用于所有浏览器和Android 3和4.

如果有人有代码帮助,请,谢谢.此外,如果有人对安全的解决方法有任何建议,我会很感激.我还在学习,我已经解决了这个问题一个星期了.它必须结束,所以我可以继续工作和学习.Urgh.

这是HttpCLient代码,礼貌Antoine Hauck(http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/):

 import java.io.InputStream;
    import java.security.KeyStore;
    import java.security.cert.CertificateException;

    import javax.net.ssl.SSLContext;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;
    import javax.security.cert.X509Certificate;

    import org.apache.http.conn.ClientConnectionManager;
    import org.apache.http.conn.scheme.PlainSocketFactory;
    import org.apache.http.conn.scheme.Scheme;
    import org.apache.http.conn.scheme.SchemeRegistry;
    import org.apache.http.conn.ssl.SSLSocketFactory;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.impl.conn.SingleClientConnManager;

    import android.content.Context;

    public class MyHttpClient extends DefaultHttpClient {

    final Context context;

    public MyHttpClient(Context context) {
        this.context = context;
    }

    @Override
    protected ClientConnectionManager createClientConnectionManager() {
        SchemeRegistry registry = new SchemeRegistry();
        registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
        // Register for port 443 …
Run Code Online (Sandbox Code Playgroud)

ssl android

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

标签 统计

android ×1

ssl ×1