(4) 安然的HTTP版本应当具备的几个特点
serverCertificateNames中定义了App所信赖的证书名称(这些证书文件必须要放在指定的文件路径下,并其要包管名称雷同),而后就可以加载办事端证书链到keystore,经由过程获取到的可托任并带有办事端证书的keystore,就可以用它来初始化自定义的SSLContext了:
- @Override
- public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- try {
- originalX509TrustManager.checkServerTrusted(chain, authType);
- } catch(CertificateException originalException) {
- try {
- X509Certificate[] reorderedChain = reorderCertificateChain(chain);
- CertPathValidator validator = CertPathValidator.getInstance("PKIX");
- CertificateFactory factory = CertificateFactory.getInstance("X509");
- CertPath certPath = factory.generateCertPath(Arrays.asList(reorderedChain));
- PKIXParameters params = new PKIXParameters(trustStore);
- params.setRevocationEnabled(false);
- validator.validate(certPath, params);
- } catch(Exception ex) {
- throw originalException;
- }
- }
- }
(3) 跳过证书校验过程
和膳绫擎的过程类似,只不过这里供给的TrustManager不须要供给信赖的证书集合,默认接收随便率性客户端证书即可:
- public class AcceptAllTrustManager implements X509TrustManager {
- @Override
- public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- //do nothing,接收随便率性客户端证书
- }
- @Override
- public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- //do nothing,接收随便率性办事端证书
- }
- @Override
- public
推荐阅读
涉及体系范围之广泛尚属初次:本次整合共享涵盖了大年夜中心到处所的各个部分,纳入整合共享范畴的┞服务信息体系包含由当局投资扶植、当局与社会企业结合扶植、当局向社会购大班事或须要当局资金运行保护的,用于支>>>详细阅读
本文标题:HTTPS 原理浅析及其在 Android 中的使用
地址:http://www.17bianji.com/lsqh/35390.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示