2009-08-22 18 views
10

में "सर्वर प्रमाणपत्र अविश्वसनीय" त्रुटि मैं बिना किसी समस्या के अपने आईफोन 3 जी ओएस 3.0.1 पर my iPhone application का उपयोग कर रहा हूं। एप्लिकेशन https://api.serverdensity.com/1.0/ पर एपीआई यूआरएल से जुड़ता है और सभी अनुरोध इसके माध्यम से जाते हैं।आईफोन एप्लिकेशन

ऐप के एक उपयोगकर्ता ने बताया है कि अब उन्हें अचानक "अविश्वसनीय सर्वर प्रमाणपत्र" त्रुटि मिल रही है। कोई अन्य उपयोगकर्ता इस समस्या का सामना नहीं कर रहा है (जिसे मैं जानता हूं) और मैं इसे पुन: उत्पन्न नहीं कर सकता।

एसएसएल प्रमाणपत्र * .serverdensity.com पर एक वाइल्डकार्ड प्रमाण पत्र है। यह गोडाडी से खरीदा गया है और मई 2010 तक मान्य है।

आगे, उपयोगकर्ता ओएस 3.0.1 चला रहा है, डिवाइस पर समय/तिथि सही ढंग से सेट की गई है और यदि वह सफारी में एपीआई यूआरएल पर जाता है, तो यह लोड हो जाता है सही ढंग से।

इस के कारण के लिए कोई सुझाव?

उत्तर

2

हम पहले बुनियादी HTTP प्राधि का उपयोग कर प्रमाणीकरण की एक "हार्डकोडेड" पद्धति का उपयोग करके किया गया था जब हमारे API में जोड़ने:

NSString *requestURL = [NSString stringWithFormat:@"https://%@:%@@api.serverdensity.com/1.0/?account=%@.serverdensity.com&c=%@", username, password, account, command]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; 

लेकिन एक का उपयोग कर में परिवर्तन हमारे नवीनतम अद्यतन में "उचित" विधि:

NSString *requestURL = [NSString stringWithFormat:@"https://api.serverdensity.com/1.0/?account=%@.serverdensity.com&c=%@", account, command]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestURL] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0]; 

NSURLCredential का उपयोग कर सही ढंग से HTTP प्रमाणीकरण को संभालने के लिए। इस अद्यतन के बाद, संबंधित उपयोगकर्ता के लिए प्रमाणपत्र त्रुटि गायब हो गई।

6

मुझे एक ही समस्या थी!

क्या आपने वहां "इंटरमीडिएट सर्टिफिकेट बंडल" स्थापित किया था? यदि आप नहीं करते हैं तो आपको सभी मोबाइल प्लेटफ़ॉर्म पर अविश्वसनीय सर्वर प्रमाणपत्र प्राप्त होगा (और कुछ पीसी भी)।

वेब साइट उद्धरण:

आप अपने जारी SSL प्रमाणपत्र स्थापित करें इससे पहले कि आप डाउनलोड करने और अपने वेब सर्वर पर हमारे मध्यवर्ती प्रमाणपत्र बंडल स्थापित करना होगा। आप भंडार से बंडल भी डाउनलोड कर सकते हैं।

अपने वेब सर्वर सेटअप के लिए GoDaddy SSL install instructions देखें।

इंटरमीडिएट सर्टिफिकेट बंडल here पाया जा सकता है।

+0

सही, लेकिन अगर यह समस्या थी तो यह हमेशा होना चाहिए। ऐसा लगता है कि यह अड़चन है। – frankodwyer

+0

जब यह मेरे साथ हुआ, यह अजीब था। यह काम कर रहा था तो यह एक निश्चित तारीख के बाद काम करना बंद कर दिया। तो यह मेरे लिए अड़चन नहीं था, लेकिन यह बिना किसी वास्तविक ध्यान देने योग्य कारण के काम करने के लिए काम करने से काम करता है। –

+1

ये, मैंने बंडल स्थापित किया और वास्तव में इसके बारे में भी ब्लॉग किया - http://blog.boxedice.com/2009/05/11/godaddy-ssl-certificates-and-cannot-verify-identity-on-macsafari/। हालांकि अगर यह समस्या थी तो मैं ब्राउज़र में भी त्रुटि देखने की उम्मीद करता था। – DavidM

2

मैंने वास्तव में इसे अपने ऐप के साथ देखा है जो एक गॉडडी प्रमाण का भी उपयोग करता है - और हाँ मैंने अपने सर्वर पर इंटरमीडिएट कॉर्ट स्थापित किए हैं।

यह दुर्लभ है, लेकिन यह तब हो सकता है जब उपयोगकर्ता वाईफाई हॉटस्पॉट पर जाता है जो कनेक्शन के प्रयास में अपने लॉगिन पेज को इंजेक्ट करता है। यह एसएसएल के लिए वास्तव में सही व्यवहार है, और यह हॉटस्पॉट के कारण प्रभावी रूप से आपके यूआरएल के लिए मैन-इन-द-बीच रीडायरेक्शन कर रहा है।

वे इसे सफारी में जाकर और कनेक्शन काम करने से पहले इसे ठीक कर सकते हैं।

ओएस 3.0 इस तरह के हॉटस्पॉट में कुछ स्वचालित लॉगिन करना है, लेकिन मेरे अनुभव में यह हमेशा काम नहीं करता है।

संपादित करें: एसएसएल का उपयोग करने से पहले, मैं इसे सादे http के लिए पहचानने के लिए उपयोग करता था और एक उचित त्रुटि संदेश डालता था। शायद यह आपके ऐप में इस त्रुटि को पकड़ने के लिए सलाह दी जाती है और एक समान संदेश 'आप हॉटस्पॉट से कनेक्ट हो सकते हैं जिसके लिए आपको लॉगिन करना आवश्यक है', आदि। अब जब आपने मुझे याद दिलाया है, तो मुझे इसे अपने आप में करने की ज़रूरत है एप्लिकेशन।

+0

उपयोगकर्ता का कहना है कि उन्होंने वाईफाई और सेलुलर डेटा नेटवर्क दोनों को एक ही त्रुटि के साथ प्रयास किया है। उन्होंने ऐप को फिर से इंस्टॉल किया है। – DavidM

+0

यह वास्तव में अजीब बात है कि यह सफारी में काम करता है लेकिन आपके ग्राहक से नहीं। क्या आप मानक यूआरएल लोडिंग सामान का उपयोग कर रहे हैं और आप किस कैश पॉलिसी का उपयोग करते हैं? क्या उपयोगकर्ता ने सफारी कैश को साफ़ करने का प्रयास किया है? – frankodwyer

+0

यह वास्तव में उपयोगी सुझाव है क्योंकि अधिकांश ऐप्स जो एचटीटीपीएस पर एपीआई से कनेक्ट होते हैं, इस मुद्दे का सामना करेंगे। –

0

मैंने एक जेलब्रोकन टेस्ट फोन पर एक ही त्रुटि संदेश देखा, लेकिन मेरे अन्य टेस्ट फोन पर नहीं। मैंने कभी इसकी जांच नहीं की, लेकिन सोचा कि मैं इस मामले में उल्लेख करता हूं कि मदद करता है ...

4

यदि आप "अविश्वसनीय सर्वर प्रमाणपत्र" कहने में त्रुटि का सामना कर रहे हैं, तो कृपया अपने आईफोन या आईपॉड की तिथि और समय सेटिंग सत्यापित करें।

आईफोन/आईपॉड "सेटिंग" से दिनांक और समय को सही करने के बाद। यह स्वचालित रूप से सभी अनुप्रयोगों (यानी याहू मैसेंजर, साइट्रिक्स, पुश मेल .... आदि) का ख्याल रखेगा "अविश्वसनीय सर्वर प्रमाणपत्र" समस्या का सामना करता है। बस कोशिश करो। उम्मीद है कि यह आपके लिए थोड़ी मदद होगी। धन्यवाद।

+0

एक आकर्षण की तरह काम किया। धन्यवाद! – johnnieb

0

मैं पुष्टि करता हूं कि आपका फोन बिना किसी चेतावनी के https: // urls लोड कर सकता है। मेरे पास पुराना 3.1.3 आईफोन है जो किसी कारण से मुठभेड़ के हर प्रमाण के बारे में चेतावनी देता है। निश्चित नहीं है कि कारण क्या है लेकिन यह मेरी वेब सेवा के परीक्षण के लिए लगभग बेकार बनाता है।

3

प्रारंभिक आईओएस और एंड्रॉइड डिवाइस रूट कैर्ट के एक छोटे से डेस्कटॉप-ब्राउज़र डेटाबेस के साथ आए थे। आपको अपने सर्वर प्रमाण पत्र के साथ अपने इंटरमीडिएट सीए कर्ट को जोड़ना होगा और वेब सर्वर उन्हें फोन पर भेज देगा। बाद में आईओएस और एंड्रॉइड रिलीज डिवाइस पर अधिक सीए सीर्ट्स को शामिल करके इसे ठीक करते हैं।

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