首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android APK 上傳 Google Play 被拒:OpenSSL 版本過低含安全漏洞如何解決?

     編輯:程式設計綜合問答

問題現象

Android 應用打包上傳 Google Play 後審核不通過,提示:

Your app submission has been rejected for using a version of OpenSSL that has multiple security vulnerabilities for users. This is a violation of our dangerous products policy. ... Please review the OpenSSL Security Advisory, upgrade OpenSSL to versions 1.0.1h, 1.0.0m, 0.9.8za, or higher ...

原因分析

應用依賴的原生庫(.so 文件)中包含的 OpenSSL 版本過舊,存在已知安全漏洞。Google Play 強制要求 OpenSSL 必須升級到安全版本(≥ 1.0.1h / 1.0.0m / 0.9.8za)。

解決步驟

  1. 定位問題庫:解壓 APK,檢查 `lib/` 目錄下的 `.so` 文件,用 `strings libxxx.so | grep OpenSSL` 查看版本。
  2. 更新依賴:
    • 若使用第三方 SDK,升級至最新版
    • 若自行編譯 OpenSSL,重新編譯 1.1.1 或 3.0+ 版本
    • 若用 CMake/ndk-build,確認 `find_package(OpenSSL)` 引用的是新版
  3. 剔除舊版庫:在 `build.gradle` 中用 `packagingOptions` 排除舊版 `.so`,或手動刪除舊版文件。
  4. 重新打包測試:生成 Release APK,再次上傳並等待約 5 小時驗證。

常見誤區

  • 只更新 Java 代碼而忽略原生庫
  • 以為系統自帶 OpenSSL 就安全,實際 APP 打包時可能靜態鏈接了舊版

總結

核心方案是升級或替換所有嵌入的 OpenSSL 原生庫至安全版本。建議定期檢查第三方 SDK 更新,並在 CI 流程中加入 OpenSSL 版本檢查腳本,避免再次被拒。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved