2016-01-14 6 views
5

मेरे आयनिक/कॉर्डोबा एप्लिकेशन अब त्रुटियों देता है (स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग कर) HTTPS बैकएंडiOS पर, आयनिक संकर अनुप्रयोग में, प्रमाण पत्र जांच से बचने के लिए कैसे

`The certificate for this server is invalid` 

मैं अपने विकास के वातावरण में हूँ के साथ प्रयोग किया है, स्वयं हस्ताक्षरित प्रमाणपत्र का उपयोग करें, और बैकएंड से कनेक्ट करने के लिए आईपी पता का उपयोग करें।

मैंने openssl s_client का उपयोग कर प्रमाण पत्र की जांच की और यह मान्य दिखता है। वास्तव में, मैं इस हाइब्रिड ऐप के एंड्रॉइड संस्करण के साथ एक ही बैकएंड का उपयोग करने में सक्षम हूं।

क्या कुछ plist या अन्य Xcode एक स्व-हस्ताक्षरित प्रमाणपत्र स्वीकार करने के लिए सेटिंग या सभी परीक्षणों को एक साथ अनदेखा करते हैं - NSAppTransportSecurity::NSAllowsArbitraryLoads सेटिंग के समान?

--EDIT

मैं अपने config.xml फ़ाइल में <access origin="*"/> है।

धन्यवाद एक बहुत

+0

क्या आपको एंड्रॉइड देव पर्यावरण के लिए इस समस्या का समाधान मिला है? –

+0

मेरे अनुभव से - एंड्रॉइड में यह समस्या बिल्कुल नहीं है (कम से कम एंड्रॉइड 5.0 के साथ)। – st2rseeker

उत्तर

2

आप AppDelegate.m के अंत में इस जोड़ सकते हैं, लेकिन सिर्फ परीक्षण प्रयोजनों के लिए, आप एप्लिकेशन को छोड़ने से पहले निकाल देना चाहिए, सेब एप्लिकेशन को मंजूरी नहीं हो सकता है अगर यह है कि कोड शामिल

@implementation NSURLRequest(DataController) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 
@end 
+0

अजीब, आईओएस 9 – vuhung3990

+2

पर काम दुर्भाग्यवश आईओएस 11 पर काम नहीं करता है। –

0

इस Info.plist को

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

जोड़ने तुम भी कुछ वैकल्पिक हल जांच कर सकते हैं की कोशिश here too !

+०१२३५१६४१०६
+1

यह काम करने के लिए प्रयोग किया जाता था, लेकिन अब और नहीं! – Dinesh

+1

यह विश्वसनीय प्रमाणपत्रों के लिए काम करता है जो नए सेब एटीएस आवश्यकताएं, या http कनेक्शन के लिए पालन नहीं करते हैं, लेकिन स्वयं हस्ताक्षरित प्रमाणपत्रों के लिए आपको मेरे उत्तर पर कोड का उपयोग करना होगा। – jcesarmobile

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