2015-09-17 4 views
6

मैं आईओएस 8 से आईओएस 9 और एएफनेटवर्किंग वेब सेवा से एचटीटीपीएस पर कॉल कर रहा हूं जो अब काम करने से पहले काम करता है। मुझे error -1200 और error -9824 मिल रहा है यह समस्या स्व-हस्ताक्षरित प्रमाणपत्रों का उपयोग करने से संबंधित है।आईओएस 9 HTTPS (त्रुटि -1200, -9824) के साथ काम करने के लिए AFNetworking कॉल को अपडेट करने का उचित तरीका क्या है?

त्रुटि डोमेन = kCFErrorDomainCFNetwork कोड = -1200 "एक SSL त्रुटि हुई और सर्वर से कोई सुरक्षित कनेक्शन नहीं बनाया जा सकता है।" IOS9 SSL error with NSURLSession, निम्नलिखित जवाब के साथ, तथापि: UserInfo = {NSErrorFailingURLStringKey = [सर्वर url], NSLocalizedRecoverySuggestion = आप सर्वर से वैसे भी ?, _kCFNetworkCFStreamSSLErrorOriginalValue = -9824

मैं इस संबंधित सवाल को देखने के कनेक्ट करना चाहते हैं , जवाब गूढ़ है और वास्तव में मुझे यह नहीं बताता कि इस मुद्दे को कैसे ठीक किया जाए।

एटीएस ट्रस्ट केवल एक प्रसिद्ध सीए द्वारा हस्ताक्षरित प्रमाण पत्र, अन्य सभी खारिज कर दिए गए हैं। नतीजतन प्रमाण पत्र पर हस्ताक्षर किए गए एकमात्र समाधान को NSExceptionDomains के साथ अपवाद सेट करना है।

आईओएस 9 पर HTTPS के साथ काम करने के लिए AFNetworking कॉल को अपडेट करने का उचित तरीका क्या है?

अतीत में मैंने NSURLAuthenticationChallenge का जवाब देने के तरीके सहित कई कामकाज का उपयोग किया है, हालांकि मैं कुछ और निश्चित खोज रहा हूं।

उत्तर

7

आईओएस 9 हालिया कमजोरियों से बचने के लिए टीटीएस 1.2 होने के लिए एचटीटीपीएस का उपयोग कर रहे हैं। आईओएस 8 में भी अनएन्क्रिप्टेड HTTP कनेक्शन समर्थित थे, ताकि टीएलएस के पुराने संस्करणों में कोई समस्या न हो। इस प्रकार आप अनुप्रयोग परिवहन सुरक्षा अक्षम कर रहे हैं

<key>NSAppTransportSecurity</key> 
    <dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    </dict> 

: समाधान के लिए, यदि आप अपने Info.plist को यह कोड स्निपेट जोड़ सकते हैं। उम्मीद है कि यह सहायक है।

यहाँ (उपरोक्त मामले में काम नहीं करता, लेकिन अभी भी) How can I add NSAppTransportSecurity to my info.plist file?

-1

की अनुमति दे अमान्य SSL प्रमाणपत्र एक संभावित समाधान है,

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.securityPolicy.allowInvalidCertificates = YES; // not recommended for production 
+0

सुनिश्चित नहीं हैं कि इस काम करता है, के रूप में एटीएस अभी भी अनुरोध/प्रतिक्रिया को खारिज कर दिया। – lostintranslation

संबंधित मुद्दे

 संबंधित मुद्दे