首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSL Android - AsyncHttpClient

SSL Android - AsyncHttpClient
EN

Stack Overflow用户
提问于 2014-10-23 16:27:38
回答 1查看 1.6K关注 0票数 1

我正在构建一个android应用程序,这是连接到服务器和检索数据。首先,我要选择是使用AsynchTask (带有HttoClient)还是AsynchHttpClient,我选择了AsynchHttpClient。现在,实际上一切都很正常,但是今天,当我在调试其他东西时,我注意到当我发送/检索数据时,调试器会抛出一个警告(我通过https做所有的事情)。调试器会说一些类似Beware! using the fix is insecure, as it doesn't verify SSL certificates的东西。我做了一些挖掘,我在AsynchHttpClient类中发现了这条消息,它的实际部分如下:

代码语言:javascript
复制
private static SchemeRegistry getDefaultSchemeRegistry(boolean fixNoHttpResponseException, int httpPort, int httpsPort) {
    if (fixNoHttpResponseException) {
        Log.d(LOG_TAG, "Beware! Using the fix is insecure, as it doesn't verify SSL certificates.");
    }

    if (httpPort < 1) {
        httpPort = 80;
        Log.d(LOG_TAG, "Invalid HTTP port number specified, defaulting to 80");
    }

    if (httpsPort < 1) {
        httpsPort = 443;
        Log.d(LOG_TAG, "Invalid HTTPS port number specified, defaulting to 443");
    }

我不太确定哪个修复是指什么。是的,我几乎忘记了,我读到这可能是因为我使用了自签名证书(用于测试),但在我发布一些不安全的东西之前,我想我想在这里问问是否有人知道这条消息的确切含义

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-10-23 18:09:21

也许你的电池出了什么问题?我使用此方法在Android项目中添加我的证书。

代码语言:javascript
复制
    public static SSLContext getFactory() throws Exception {
    KeyStore trusted = KeyStore.getInstance("BKS");

    InputStream in = context.getResources().openRawResource(R.raw.myfile);

    try {
        // Initialisation de notre keystore. On entre le mot de passe (storepass)
        trusted.load(in, "mypassword".toCharArray());
    } finally {
        in.close();
    }


    TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
    tmf.init(trusted);

    SSLContext ssl_context = SSLContext.getInstance("SSL");
    ssl_context.init(null, tmf.getTrustManagers(), null);

    return ssl_context;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26524074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档