2008-12-07 38 views
9

क्या आप में से कोई भी संकेत है कि Security.framework/TrustStore.sqlite3 की सामग्री को कैसे बदला जाए। ऐसा लगता है जैसे आईफ़ोन विश्वसनीय सीए प्रमाणपत्रों को स्टोर करने के लिए इसका उपयोग करता है। मैं वास्तव में अपने कस्टम प्रमाण पत्र पर भरोसा करने के लिए अपने आइपॉड स्पर्श चाहता हूँ। इसके अलावा, क्या आप में से कोई भी एसकलाइट 3 डेटाबेस फ़ाइलों को संपादित करने के लिए एक ऐप (win32) जानता है (स्क्लिटमैन को छोड़कर, यह हमेशा मेरे लिए दुर्घटनाग्रस्त हो जाता है)।आईफोन ट्रस्टस्टोर सीए प्रमाणपत्र

उत्तर

6

मैं कल्पना कर सकते हैं कि किसी और को इस समस्या का सामना करेंगे, इसलिए मैं यह कैसे काम करता जवाब देने के लिए करना चाहते हैं (एप्पल कि देखने के लिए अच्छा नहीं लगेगा):

1) iPhoneOS ट्रस्टों हर CA प्रमाणपत्र में संग्रहीत /System/Library/Frameworks/Security.framework/TrustStore.sqlite3

2) उस डेटाबेस में कुछ फ़ील्ड में डेटा है जो मुझे समझ में नहीं आया, जबकि अन्य अर्थों जैसे "SHA1" काफी स्पष्ट हैं।

तीसरा) आपके आईपॉड/आईफोन पर दो अलग-अलग TrustStore.sqlite3s हैं। दूसरा एक /private/var/Keychains/TrustStore.sqlite3 पर स्थित है। उनके बीच एकमात्र अंतर यह है कि ऐप्पल केवल सुरक्षा की एक सामग्री पर भरोसा करता है। फ्रेमवर्क।

4 वां) बाद वाला उपयोगकर्ता उपयोगकर्ता स्थापित प्रमाणपत्र (धन्यवाद, कोरेगन) को स्टोर करने के लिए उपयोग किया जाता है, जबकि तालिका लेआउट समान होता है।

5 वां) मेल या सफारी का उपयोग करके अपना स्वयं-हस्ताक्षरित प्रमाणपत्र खोलें और इसे इंस्टॉल करें।

6 वां) अपने पसंदीदा SQLite डेटाबेस प्रबंधक का उपयोग करके ओपन /private/var/Keychains/TrustStore.sqlite3 और tsettings में पंक्ति की तलाश करें जिसका "SHA1" BLOB आपके CA प्रमाणपत्र का हैश है।

7 वां) पूरी पंक्ति निकालें और इसे TrustStore.sqlite3 की tsettings तालिका में डालें।

8 वां) सुनिश्चित करें कि आपने डेटाबेस को वापस डिवाइस पर कॉपी किया है, इसे रीबूट करें।

9वीं) अब तक यह उन कस्टम प्रमाणपत्रों पर भरोसा करना चाहिए जो आपके कस्टम सीए द्वारा हस्ताक्षरित हैं। बजाय सामान्य स्थान के /System/Library/Security/Certificates.bundle:

+0

इसके लिए धन्यवाद, यह आपके _ONLY_ विकल्प है जब एमुलेटर पर विकास होता है। कॉन्फ़िगरेशन उपयोगिता का उपयोग केवल भौतिक उपकरणों के लिए काम करता है। – RandomNickName42

+0

स्क्रैच करें कि, एम्यूलेटर को कॉन्फ़िगर करना मेरे लिए एक मृत अंत साबित हुआ। – RandomNickName42

+0

कॉन्फ़िगरेशन उपयोगिता आपके स्वयं के रूट ca विश्वसनीय नहीं सेट करेगी। –

5

आप प्रमाण पत्र स्थापित करने के लिए iPhone Configuration Utility का उपयोग कर सकते हैं।

3

आपके प्रश्न के दूसरे भाग के लिए, मैंने SQLite db फ़ाइलों को बनाने और संपादित करने के लिए फ़ायरफ़ॉक्स के लिए SQLite एक्सटेंशन का उपयोग किया है।

addons.mozilla.org

7

आप एक वेब सर्वर सही माइम-प्रकार के साथ डिजिटल प्रमाणपत्र सेवा करने के लिए कॉन्फ़िगर है तो सफारी iPhone पर विश्वास की दुकान में उन्हें जोड़ देगा।

CA प्रमाणपत्र के लिए

माइम-प्रकार "अनुप्रयोग/x-X509-ca-प्रमाणपत्र" (उदाहरण के here)

है जब सफारी डाउनलोड इस प्रमाणपत्र यह उपयोगकर्ता के रूप में यदि वे इसे पर विश्वास करना चाहते होंगे।

एक बार विश्वसनीय होने पर सेटिंग्स में दिखाई देता है। सामान्य | प्रोफाइल अनुभाग एक विन्यास प्रोफाइल के रूप में।

alt text http://o-regan.org/cacert.png

प्रमाण पत्र भी TrustStore.sqlite3 डाटाबेस में डाला जाता है। सत्यापित है कि बैकअप करके और iphone backup extractor के साथ डीबी निकालने से।

मुझे यकीन नहीं है कि अब इसका मतलब है कि यह अन्य उद्देश्यों के लिए विश्वसनीय है, एसएसएल रूट के रूप में कहें।

उम्मीद है कि इससे मदद मिलती है, अगर समय परमिट की जांच हो तो मैं और अधिक जांच कर सकता हूं।

+0

'/ आदि में' आवेदन/x-X509-ca-cert' के लिए डिफ़ॉल्ट विस्तार/mime.types' 'है .crt'। – ceving

0

आईओएस 11 के बाद से TrustStore पर स्थित है /System/Library/Frameworks/Security.framework

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