2012-05-14 15 views
6

क्या तृतीय पक्ष एप्लिकेशन X509 प्रमाणपत्र जोड़ने के लिए आईफोन की कीचेन एक्सेस कर सकता है? यदि हां, तो यह कैसे किया जा सकता है?
यदि नहीं, तो क्या यह केवल प्रमाणपत्र से पढ़ने के लिए कीचेन तक पहुंच सकता है?आईफोन की कीचेन में x509 प्रमाणपत्र स्टोर करें और एक्सेस करें

असल में, मुझे क्या चाहिए:
1) मेरे एप्लिकेशन को https साइट तक पहुंचने की आवश्यकता है जो किसी भी विश्वसनीय सीए द्वारा हस्ताक्षरित प्रमाणपत्र का उपयोग नहीं करता है। https के माध्यम से कनेक्ट करने का प्रयास करते समय, मुझे अपवाद मिलता है।
2) यह बहुत अच्छा होगा अगर मैं कुंजीपटल में रूट के प्रमाणपत्र को प्रोग्रामेटिक रूप से जोड़ सकता हूं; यह पर्याप्त होगा यदि उपयोगकर्ता सफारी के माध्यम से साइट तक पहुंच सकता है, अपना प्रमाणपत्र स्वीकार कर सकता है, और फिर मेरे आवेदन का उपयोग कर साइट तक पहुंच सकता है।

अब तक, मैं https पार करने के लिए निम्नलिखित इंटरफ़ेस का उपयोग किया गया है:

@interface NSURLRequest (DummyInterface) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host; 
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host; 
@end 

लेकिन यह वास्तव में मैं क्या चाहते हैं नहीं है।

कोई सुझाव?

उत्तर

3

This Apple document कुंजी-हस्ताक्षरित प्रमाणपत्र (या एक स्व-हस्ताक्षरित प्रमाणपत्र प्राधिकरण) को चाबी में जोड़ने की अनुमति देने के लिए पर्याप्त सामान दस्तावेज करना चाहिए, और इसे विश्वसनीय बनाना चाहिए। हालांकि, मैंने इसका परीक्षण नहीं किया। Source

top answer on this question भी देखें। हालांकि, यह वास्तव में प्रमाण पत्र की वैधता को सत्यापित नहीं करता है। कोकोनेटिक्स ने how to use NSURLConnection with self-signed certificates को भी दस्तावेज किया है, और इसी तरह वैधता को सत्यापित करने के लिए प्रतीत नहीं होता है।

तो, आप लगभग निश्चित रूप से ऐप्पल के निर्देशों का पालन करना चाहते हैं। एक * पी 12 फाइल "से एक पहचान निकालने और मूल्यांकन करने के लिए" एक प्रमाणपत्र आयात करने के तरीके पर एक पूरा उदाहरण शामिल है, यहां तक ​​कि एक पासफ्रेज से संरक्षित भी है।

"AdvancedURLConnections" sample code और ServerTrustChallengeHandler कक्षा के साथ संयोजन करें और आपको जाने के लिए अच्छा होना चाहिए।


यहां a more complete example by Vanja Komadinović भी है।

+0

मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन जैसे ही मुझे मौका मिलेगा – Maggie