2017-05-06 21 views
-1

WebAPI(.Netで構築)はサーバー上でホストされ、HTTPSを使用してiOSおよびAndroidアプリから呼び出されます。証明書などの変更はありません。 iOSアプリはうまく動作しますが、同じapiを使用しているウェブアプリはうまくいきますが、今朝からAPIを使用しているAndroidアプリ(Androidバージョン5x以下のみ)はすべてこのエラーでクラッシュしていました。無効な証明書をサーバーから受信しました

android.runtime.JavaProxyThrowable: System.AggregateException: One or more errors occurred. ---> System.Net.WebException: Error: TrustFailure (The authentication or decryption has failed.) ---> System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. 

証明書、証明書チェーン、すべて。問題ありません。証明書が無効な場合は、他のアプリが動作していない必要があります。誰かが見える場所を指すことができます。私はこのサイトを検索し、いくつかのスレッドを見つけましたが、その解決策にはAndroidアプリコードの変更が必要です。それはすぐには実行できません。なぜ誰かがそれに光を投げることができるならば、なぜ突然ですか?テストされたAndroid搭載端末では何も更新されていません。 ssllabと握手を介してサーバをテスト済み

は、Androidシミュレーションに来る:

enter image description here

+0

あなたのアプリケーションがサポートしているサーバーとTLSプロトコルで期待されるTLSプロトコルを確認してください。[https://android-app-promotion.com/] TLSは間違った証明書と似たエラーを生成します。 – BayK

+0

サーバはTLS 1.2,1.1,1.0をサポートしています.5未満のAndroidバージョンは1.1が必要ですね。昨日まで、すべてのデバイスが正常に動作していました。現在のところ、Android搭載端末(4.4以降のバージョンのみチェック済み)は動作していません。誰もサーバーに触れておらず、何も更新または変更されていません。 –

+0

証明書が期限切れになっている可能性がありますか? – BayK

答えて

0

が解決しようと、それらの古いAndroidのバージョンのアプリが動作するようになりました。どこでも証明書マネージャーのCOMODOルート証明書COMODO RSA Certification Authority with SHA1 key afe5d244a8d1194230ff479fe2f897bbcd7a8cb4を無効にする必要がありました。どうやらウィンドウの更新がこれを追加していて、それが何らかの形で競合していて、中間証明書がサーバーから送信されていない(第2の証明書チェーンでは、最初のチェーンはOKでした)。通常、中間証明書が送信されない場合、クライアントはそれを発行者からダウンロードしますが、Androidモノフレームワークは明らかにそれを行いません。

Adm Selec https://community.qualys.com/thread/15295ありがとうございました。

関連する問題