मैं अपने एप्लिकेशन में एंड्रॉइड में वॉली लाइब्रेरी का उपयोग कर रहा हूं और POST अनुरोध करने का प्रयास करते समय हमारे सर्वर मैं निम्नलिखित त्रुटि मिलती है:com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL हैंडशेक निरस्त:
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)
हमारे सर्वर निम्नलिखित SSL प्रमाणपत्र के साथ हस्ताक्षरित किया गया है:
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
प्रमाण पत्र openssl द्वारा वर्णित है इस प्रकार है:
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
मैंने एंड्रॉइड सक्षम सिफर पर सिफर की जांच की और वे कहते हैं कि यह डिफ़ॉल्ट रूप से सक्षम है।
मैं इस समस्या के लिए निम्नलिखित समाधान की कोशिश की है, लेकिन उनमें से कोई इसे हल:
HTTPS support for Volley Android networking library - (मेरे लिए भी उपयुक्त नहीं है, क्योंकि यह सुरक्षित नहीं है) काम नहीं कर रहा
How to disable SSLv3 in android for HttpsUrlConnection? - मैं कोशिश की है यह, त्रुटि अभी भी होती है
एंड्रॉइड एपीआई प्रोजेक्ट में प्रयुक्त एंड्रॉइड 5.1 (एपीआई 22) है। वॉली लाइब्रेरी संस्करण 1.0.15 है (नवीनतम के साथ भी कोशिश की, 1.0.18 लेकिन समस्या अभी भी होती है)।
मैंने कोशिश की एक अन्य समाधान okhttp लाइब्रेरी का उपयोग कर वोल्ली के साथ एकीकृत किया था, लेकिन समस्या अभी भी होती है।
किसी भी कामकाजी समाधान की सराहना की जाएगी।
अग्रिम धन्यवाद!
अद्यतन
वैसे, मैं सर्वर से समर्थित सिफर पाने के लिए प्रबंधित:
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
मैं क्या पढ़ा से, वहाँ एपीआई LVL 22 पर इन सिफर के साथ कोई समस्या नहीं होनी चाहिए।
अपने प्रमाण पत्र डिवाइस पर विश्वसनीय प्रमाणपत्रों की सूची में जोड़ा है:
आप यहाँ समाधान इस बग के बारे में अधिक जानकारी पा सकते हैं, मैं भी निष्कर्ष निकाला गया था? –
जैसा कि कहा गया, मैंने सिफर (डीएचई-आरएसए-एईएस 256-एसएचए) की जांच की और एंड्रॉइड ने कहा कि यह एपीआई स्तर 22 में डिफ़ॉल्ट रूप से enbled है। इसके अलावा, प्रमाण पत्र सीए भरोसेमंद है, तो यह सभी उपकरणों पर काम करना चाहिए और जरूरत नहीं होनी चाहिए इसे विशेष रूप से ऐप –
में जोड़ने के लिए मुझे आशा है कि आप [एंड्रॉइड 5.0 व्यवहार परिवर्तन - टीएलएस/एसएसएल डिफ़ॉल्ट कॉन्फ़िगरेशन परिवर्तन] पर एक समाधान पा सकते हैं (http://developer.android.com/about/versions/android-5.0-changes .html # एसएसएल) – BNK