開發人員請注意,如果您的應用程式以不安全的方式實作 X509TrustManager 介面,請詳閱本文資訊。
問題說明
您有一或多個應用程式以不安全的方式實作 X509TrustManager 介面。具體來說,與遠端主機建立 HTTPS 連線時,您的實作方式會忽略所有 SSL 憑證驗證錯誤,讓應用程式更容易遭受中間人攻擊。攻擊者可能會讀取傳輸資料 (例如登入憑證),甚至變更透過 HTTPS 連線傳輸的資料。請按照下列詳細步驟修正應用程式的問題。在 Play 管理中心顯示的修正期限過後,如應用程式的安全漏洞尚未修正,會遭到 Google Play 下架。
敬請配合
- 登入 Play 管理中心,然後前往「快訊」專區查看受影響的應用程式以及解決這些問題的期限。
- 更新受影響的應用程式並修復安全漏洞。
- 提交受影響應用程式的更新版本。
我們將再次審查您重新提交的應用程式,過程可能需要數小時。如果應用程式可以通過審查並成功發布,您就不必採取進一步行動。如果應用程式未能通過審查,就無法發布新的版本,而且您將收到電子郵件通知。
其他詳細資訊
如要妥善處理 SSL 憑證驗證作業,請在您自訂 X509TrustManager 介面的 checkServerTrusted 方法中變更程式碼,指定在伺服器提供的憑證「不」符合預期時產生 CertificateException 或 IllegalArgumentException。請特別留意以下錯誤:
- 確認 checkServerTrusted 產生的例外狀況並未包含在方法中,因為這會讓 checkServerTrusted 正常結束,進而導致應用程式信任有害的憑證。
- 請勿將 checkValidity 用於檢查伺服器憑證。checkValidity 可確認憑證是否尚未過期,但無法判斷憑證是否可以信任。
您也可使用網路安全性設定,以比較不容易出錯的方式自訂應用程式的憑證行為。
我們很樂意提供協助
如有關於安全漏洞的技術問題,請前往 Stack Overflow 提問並加上「android-security」和「TrustManager」標記。如需進一步瞭解這個問題的解決步驟,歡迎與開發人員支援團隊聯絡。