मैं आईफोन या आईपैड पर स्थापित प्रमाणपत्रों की सूची प्राप्त करना चाहता हूं। इसलिए मैं इसे चुनने और सर्वर पर एसएसएल सत्यापन के लिए उपयोग करने के लिए इसका उपयोग कर सकता हूं। हालांकि मैं इस सूची को पाने में सक्षम नहीं हूं। मैंने इस निम्न लिंक में देखा है कि आईओएस में प्रमाण पत्र प्राप्त करना संभव नहीं है क्योंकि कोई केवल अपने स्वयं के कीचेन तक पहुंच सकता है। iOS get Configuration Profiles that are installedआईओएस डिवाइस से प्रमाणपत्र सूची प्राप्त करें
हालांकि मुझे शक है :)।
नीचे दिए गए लिंक से Get Certificates in Keychain मैं प्रमाणपत्र प्राप्त करने के लिए कोड का उपयोग कर रहा हूं। हालांकि मुझे शून्य डेटा मिल रहा है।
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys:
(__bridge id)(kSecClassCertificate), kSecClass,
[NSNull null], kSecMatchSearchList,
kCFBooleanTrue, kSecReturnRef,
kSecMatchLimitAll, kSecMatchLimit,
nil];
CFDataRef *items = nil;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, ((CFTypeRef *)&items));
मैं [NSNull अशक्त] इस धारणा है कि अगर कीचेन रेफरी शून्य है तो डिवाइस डिफ़ॉल्ट कीचेन लेता है के साथ खोज सूची के लिए दे रही है हूँ।
मेरे प्रश्न 1) क्या आईफोन से स्थापित प्रमाणपत्रों की सूची प्राप्त करना संभव है। 2) यदि ऐसा है तो कैसे? उपरोक्त कोड में क्या गलत है?
ऐसा लगता है कि आप क्लाइंट एसएसएल प्रमाणीकरण को लागू करने की कोशिश कर रहे हैं, जहां निजी कुंजी क्लाइंट में है, और यही वह प्रमाण पत्र है जिसे आप क्लाइंट पर ढूंढ रहे हैं। क्या वो सही है? – quellish
नहीं। मेरे पास क्लाइंट में कोई निजी कुंजी नहीं है। क्लाइंट के पास उनके डिवाइस पर प्रमाणपत्र स्थापित होंगे। मेरा आवेदन उन प्रमाणपत्रों के बारे में कुछ भी नहीं जानता है। आइडिया उपयोगकर्ता को आईओएस डिवाइस पर स्थापित सभी उपलब्ध प्रमाणपत्रों की सूची पेश करना है। उन्हें चुनने के लिए उन्हें पसंद करें। और फिर ऐप उस प्रमाणपत्र को याद रखेगा और इसे बाद में उपयोग करेगा। लेकिन जैसा कि बताया गया है कि मैं डिवाइस पर स्थापित सभी प्रमाणपत्रों की सूची प्राप्त नहीं कर पा रहा हूं। – sridevi
दाएं। तो आपके पास कॉन्फ़िगरेशन प्रोफ़ाइल के माध्यम से क्लाइंट प्रमाण-पत्र स्थापित हैं। किसी भी तरह से, आप जो करना चाहते हैं उसके लिए आप एक प्रमाणपत्र श्रृंखला के साथ एक पहचान की तलाश में हैं, प्रमाण पत्र नहीं (यानी केएसईसी क्लास इडेंटिटी के लिए खोज)। यह कॉन्फ़िगरेशन प्रोफ़ाइल सेट अप करने के तरीके के आधार पर आपके एप्लिकेशन पर अभी भी उपलब्ध नहीं हो सकता है। – quellish