gpt4 book ai didi

Android HTTPS 请求

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:37 26 4
gpt4 key购买 nike

我试过这么多选择,我快要疯了。每次尝试发布到 URL 时,我都会收到 SSL 异常。

这在 C# 中使用 HttpWebRequest 就像做梦一样。

我得到的错误是:

Not trusted server certificate
java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.

我现在正在尝试以下方法,但我已经尝试了自定义 SocketFactories,一切。请帮忙!

    final String httpsURL = "https://...";
final DefaultHttpClient client = new DefaultHttpClient();
final HttpPost httppost = new HttpPost(httpsURL);

//authentication block:
final List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair("mail", username));
nvps.add(new BasicNameValuePair("password", password));
UrlEncodedFormEntity p_entity = null;
try {
p_entity = new UrlEncodedFormEntity(nvps, HTTP.UTF_8);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
httppost.setEntity(p_entity);

//sending the request and retrieving the response:
HttpResponse response = null;
try {
response = client.execute(httppost, _context);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HttpEntity responseEntity = response.getEntity();

//handling the response: responseEntity.getContent() is your InputStream
try {
final InputSource inputSource = new InputSource(responseEntity.getContent());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

您需要考虑 Android 如何确定证书的有效性。当它需要验证证书时,它会查看签名链。如果它能在其顶部找到一个受信任的授权机构,并且该证书不在吊销列表中,那么它将被信任。

为了减少耗时的查询,Android bundle 了它信任的常见 CA 列表。正如您在评论中指出的那样,升级后错误消失了。这很可能是因为您正在使用的 CA 已添加到发货的受信任 CA 列表中。

如果您信任该证书,您可以将其添加到这个受信任的 CA 列表中。 accepted answerthis question有一些关于旧版本此过程的详细信息!较新的版本更有可能附带您需要的证书。使用较新的版本,您可以直接从 SD 卡安装证书。转到 设置 -> 安全。在 Credential storage 下,您会找到选项 Install from device storage。只要您使用的是标准格式,就应该能够安装您的证书!

我的来源:Security with HTTPS and SSL | Android Developers

关于Android HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7670389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com