Tag: trustmanager

谷歌界面X509TrustManager的不安全实现

我在谷歌播放中使用了一个应用程序,我收到了谷歌的一封邮件说: 您在此电子邮件末尾列出的应用使用了界面X509TrustManager的不安全实现。 具体而言,在与远程主机建立HTTPS连接时,该实现会忽略所有SSL证书validation错误,从而使您的应用容易受到中间人攻击。 要正确处理SSL证书validation,请在自定义X509TrustManager接口的checkServerTrusted方法中更改代码,以便在服务器提供的证书不符合您的期望时引发CertificateException或IllegalArgumentException。 我的应用使用“https”,我的checkServerTrusted()如下: 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; } }; 然后我修改这个function: TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { […]