首页 > 解决方案 > 如何在 Android 应用程序中验证 SSL 证书的有效性

问题描述

在进行服务调用之前,我需要验证 SSL 证书的有效性。如果证书无效,我需要显示警报。请给我一些想法。

标签: androidssl-certificate

解决方案


主机名验证可以通过X509HostnameVerifierSSLSocketFactory. 一些实现已经在 android: AllowAllHostnameVerifier, BrowserCompatHostnameVerifier, StrictHostnameVerifier /* ... */

public class MyHostnameVerifier extends AbstractVerifier {
  boolean verify(String hostname, SSLSession session) {
    X509Certificate[] chain = session.getPeerCertificateChain();
    /* made some checks... */
    return checked;
  }
}
sslSocketFactory.setHostnameVerifier(new MyHostnameVerifier());

推荐阅读