2015-08-24 11 views
5

उपयोग मामला:Xamarin iOS: असमर्थ आईओएस-चेन में PKCS12 डेटा को बचाने

एप्लिकेशन आयात 12 फ़ाइल (प्रमाणपत्र और निजी कुंजी के साथ) PKCS और बाद में उपयोग के लिए यह बचाता है।

वर्तमान स्थिति:

मैं आदेश SecIdentity और SecTrust वस्तुओं प्राप्त करने के लिए SecImportExport.ImportPkcs12 उपयोग करने में सक्षम था। दुर्भाग्य से मैं SecRecord को SecIdentity और SecTrust ऑब्जेक्ट असाइन करने में असमर्थ हूं।

कोड:

SecIdentity identityObject = ...; 
SecTrust trustObject = ...; 

SecRecord record = new SecRecord(SecKind.Identity); 
record.Account = "Identity"; 
record.ValueData = ? //HOW TO CONVERT SecIdentity to NSData? 

var res = SecKeyChain.Add(record); 
+0

संभावित डुप्लिकेट [बाद में उपयोग करने के लिए कीचेन में एक .p12 प्रमाण पत्र संग्रहीत करना] (http://stackoverflow.com/questions/30598729/storing-a-p12-certificate-in-keychain-to-use-later) – Krumelur

+0

@ क्रूमेलूर: सवाल मूल आईओएस एप्लिकेशन के बारे में है, न कि Xamarin ऐप – kmalmur

उत्तर

1

आप SecRecord.SetValueRef (identityObject) जो दुकान चाबियाँ करने के लिए इस्तेमाल किया जा सकता (SecKey) का उपयोग कर सकते हैं, प्रमाण पत्र (SecCertificate) या पहचान।

+0

हां, यह इच्छित उपयोग है। दुर्भाग्यवश Xamarin आईओएस में एक बग है, जो बाद में पहचान को पुनः प्राप्त करने में परेशानी का कारण बनता है। यहां बगट्रैकर का एक लिंक दिया गया है: https://bugzilla.xamarin.com/show_bug.cgi?id=24972 – kmalmur

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