日志關鍵行:
Caused by: org.apache.harmony.security.asn1.ASN1Exception: ASN.1 UTCTime: wrong format for DER, identifier at [112]
表明 服務器證書的時間字段編碼不符合 Android 4.2 (API 17) 及以下的舊版 Harmony 提供程序解析規則。Android 4.4+ 升級至 OpenSSL,兼容性更好。
TrustManager 並使用 BouncyCastle 解析證書,繞過系統默認驗證邏輯。代碼複雜,不推薦長期使用。minSdkVersion 設為 19 (4.4) 或更高,放棄 4.2 設備支持。openssl x509 -in server.crt -text -noout | grep -A2 Validity
# 觀察 Not Before/After 格式
此為舊版 Android TLS 實現缺陷,首選服務端修正證書,若不可控則考慮升級 minSdkVersion 或引入 BouncyCastle。