com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL-Handshake abgebrochen:
Ich verwende die Volley-Bibliothek in Android in meiner Anwendung und beim Versuch, POST-Anforderungen an unseren Server zu senden, wird die folgende Fehlermeldung angezeigt:
com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6821edb0: Failure in SSL library, usually a protocol error
error:1407743E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert inappropriate fallback (external/openssl/ssl/s23_clnt.c:744 0x5f4c0c46:0x00000000)
Unser Server ist mit dem folgenden SSL-Zertifikat signiert:
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
Das Zertifikat wird von openssl wie folgt beschrieben:
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Ich habe die Verschlüsselung über Android-fähige Chiffren überprüft und sie sagen, dass sie standardmäßig aktiviert ist.
Ich habe die folgende Lösung für dieses Problem ausprobiert, aber keine von ihnen hat sie gelöst:
HTTPS-Unterstützung für die Volley Android-Netzwerkbibliothek - funktioniert nicht (auch nicht für mich geeignet, da es nicht sicher ist)
Wie deaktiviere ich SSLv3 in Android für HttpsUrlConnection? - Ich habe es versucht, der Fehler tritt immer noch auf
Das in unserem Projekt verwendete Android-API ist Android 5.1 (API 22). Die Version der Volley-Bibliothek ist 1.0.15 (auch mit der neuesten Version 1.0.18 ausprobiert, das Problem tritt jedoch weiterhin auf).
Eine andere Lösung, die ich ausprobiert habe, war die Verwendung von okhttp Bibliothek, in Volley integriert, aber das Problem tritt immer noch auf.
Jede funktionierende Lösung wäre sehr dankbar.
Danke im Voraus
AKTUALISIERE
Übrigens habe ich es geschafft, unterstützte Chiffren vom Server zu bekommen:
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
SSLv3
RSA_WITH_RC4_128_MD5
RSA_WITH_RC4_128_SHA
RSA_WITH_IDEA_CBC_SHA
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_SEED_CBC_SHA
TLS_DHE_RSA_WITH_SEED_CBC_SHA
(TLSv1.0: idem)
(TLSv1.1: idem)
TLSv1.2
RSA_WITH_RC4_128_MD5
RSA_WITH_RC4_128_SHA
RSA_WITH_IDEA_CBC_SHA
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_AES_128_CBC_SHA256
RSA_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA256
DHE_RSA_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_SEED_CBC_SHA
TLS_DHE_RSA_WITH_SEED_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
Von dem, was ich gelesen habe, sollte es kein Problem mit diesen Chiffren in API LVL 22 geben.