Google は、私の Android アプリケーションに X509TrustManager インターフェースの安全でない実装があり、コードを次のように変更する必要があるとアドバイスしました。
SSL 証明書の検証を適切に処理するには、カスタム X509TrustManager インターフェースの checkServerTrusted メソッドのコードを変更して、サーバーによって提示された証明書が期待どおりでない場合は常に CertificateException または IllegalArgumentException を発生させます。技術的な質問については、「android-security」および「TrustManager」のタグを使用して Stack Overflow に投稿できます。</p>
上記の問題を解決するには、次のコードをどのように変更できますか?
public EasySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
super(truststore);
TrustManager tm = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
mContext.init(null, new TrustManager[] { tm }, null);
}