如何在使用HttpURLConnection时正确验证SSL证书?

时间:2017-07-20 06:35:59

标签: android ssl https

最近 JSSA(日本智能手机安全协会)发布了2017年版 Android应用程序安全设计/安全编码指南,其中提供了通过HTTPS进行通信的示例受信任的以及私人证书。对于可信证书,代码应该检查:

  • 服务器证书由受信任的第三方证书签名 权威
  • 服务器证书的期间和其他属性有效
  • 服务器的主机名与CN(公用名)或SAN(主题)匹配 备用名称)在服务器证书的“主题”字段中

他们为连接到具有可信证书的安全服务器提供的示例代码与普通HTTP不安全连接相同,如下所示

.
.

URL url = new URL(strUrl);
response = (HttpURLConnection) url.openConnection();
response.setRequestMethod("GET");
response.connect();
checkResponse(response);
.
.

但是,为私人证书连接提供的样本似乎更精细,看起来足以达到其预期目的。

期望关于样本代码在确保交易安全方面的可信度的专家建议,因为他们甚至没有使用 HttpsURLConnection ,或者任何或所有上述验证目标似乎都没有得到解决给定的示例代码。

提前致谢。

PS:文档链接供参考。 http://www.jssec.org/dl/android_securecoding_en.pdf

0 个答案:

没有答案