2015-10-19 14 views
0

在我們的應用程序部署期間出現異常情況。 iOS版本運行良好,但Android版本的應用程序沒有工作。經過一些故障排除後,我們發現該應用程序會調用api。 Api網絡服務器缺少證書鏈。我們嘗試使用Safari瀏覽器在iOS8 iphone上調用api,並且它在Android上沒有任何警告,它給出了證書警告。我瞭解問題,但想知道爲什麼它在iOS上工作?操作系統級別的iOS驗證有沒有錯誤?iOS允許無效證書,而android沒有

回答

0

您看到的行爲是由於某些瀏覽器和用戶代理(包括iOS上的Safari)實現的稱爲AIA追逐的功能。證書可以具有Authority Information Access extension的值,瀏覽器或底層框架可以使用該值來通過獲取中間體來構建完整的證書鏈(如果它們不是由服務器提供的)。

Android不會執行AIA追逐,這是您從Android應用調用API時看到錯誤的原因。我一直無法找出爲什麼這不是內置於Android。

解決此問題的正確方法是確保Web服務器爲連接客戶端提供必要的中間證書。

+0

謝謝!這有幫助。 – Hemal