簡體   English   中英

日期錯誤的Samsung SM A550W HTTPS ExtCertPathValidatorException

[英]Samsung SM A550W HTTPS ExtCertPathValidatorException with wrong date

我的應用程序可在除Samsung SM-A500W之外的所有設備和模擬器上運行。 它只是無法更新數據庫。 通過存儲在TLD安全域中的php腳本訪問數據庫(僅通過httpS訪問)。 失敗是因為它認為證書的過期日期已通過。 請參閱LogCat。

10-25 11:07:18.381 25547-25617/uro2.tradersmicro.com.uro2 D/Uploadi16: Exception jb: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: Certificate expired at Sat Feb 18 18:59:59 EST 2017 (compared to Thu Oct 25 11:07:18 EDT 2018) javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: Certificate expired at Sat Feb 18 18:59:59 EST 2017 (compared to Thu Oct 25 11:07:18 EDT 2018)

BTW。 我的應用程序片段之一使用WebView。 這部分的安全數據庫訪問是正常的。

有辦法避免這種錯誤嗎?

我發現解決此問題的方法是將php腳本復制到“非安全域”,並確保在腳本更新時對其進行更新。 在運行時:-在try ... catch中,將數據庫訪問權限更改為不安全的域。 到目前為止,它的運作就像是一種魅力。 當然,數據庫訪問發生在Async任務中,似乎可以從catch代碼中遞歸地再次調用該方法。

我建議嘗試使用Google Play服務更新設備安全提供程序:

https://developer.android.com/training/articles/security-gms-provider

import com.google.android.gms.security.ProviderInstaller;

// ....

try {
  ProviderInstaller.installIfNeeded(getContext());
} catch (GooglePlayServicesRepairableException e) {
  // TODO handle error
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM