[android]HTTPS 使用 AsyncHttpClient(Library)

我想要请求到 HTTPS 服务器而无需通过使用,可绕过 SSL 证书验证

AsyncHttpClient client = new AsyncHttpClient(true, 80, 443);

我想要用于验证 SSL 密钥库文件的方法。请帮助。

解决方法 1:

第 1 步: 首先下载密钥存储库资源管理器中的下载链接并创建一个新的密钥库文件的 type BKS V1和您的公钥证书导入到密钥存储库。

第 2 步: 将密钥库文件复制到 res/原材料的项目。

步骤 3: 使用此函数来获取 SSLSocketFactory

private SSLSocketFactory getSocketFactory() {
        // TODO Auto-generated method stub
        SSLSocketFactory sslFactory = null;
        try {
            KeyStore keyStore = KeyStore.getInstance("BKS");
            InputStream instream = this.getResources().openRawResource(
                    R.raw.website_public);
            keyStore.load(instream, "keystore_password".toCharArray());
            sslFactory = new MySSLSocketFactory(keyStore);
        } catch (KeyStoreException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (NoSuchAlgorithmException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (CertificateException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (UnrecoverableKeyException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (KeyManagementException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return sslFactory;
    }

步骤 4: 设置的 SocketFactory AsyncHttpClient 对象中。

AsyncHttpClient mAsyncHttpClient = new AsyncHttpClient();
        mAsyncHttpClient.addHeader(HTTP.CONTENT_TYPE,
                "application/x-www-form-urlencoded;charset=UTF-8");
        mAsyncHttpClient.setSSLSocketFactory(getSocketFactory());


转载于:https://my.oschina.net/xiahuawuyu/blog/544273

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值