Android किटकैट से पहले आपको नए प्रमाणपत्र स्थापित करने के लिए अपने डिवाइस को रूट करना होगा।
एंड्रॉइड किटकैट (4.0) से नौगाट (7.0) तक यह संभव और आसान है। मैं अपने अन-रूट किए गए डिवाइस पर चार्ल्स वेब डिबगिंग प्रॉक्सी प्रमाणपत्र स्थापित करने और एसएसएल ट्रैफ़िक को सफलतापूर्वक सूँघने में सक्षम था।
Http://wiki.cacert.org/FAQ/ImportRootCert से निकालें
एंड्रॉइड वर्जन 4.0 से पहले, एंड्रॉइड वर्जन जिंजरब्रेड और फ्रायो के साथ, सभी सीए ('सिस्टम') सर्टिफिकेट्स के साथ ट्रस्ट स्टोर वाले एक एकल रीड-ओनली फाइल (/system/etc/security/cacerts.bks) थी। एंड्रॉयड। सिस्टम एसडी ऐप और एंड्रॉइड एसडीके के साथ विकसित सभी एप्लिकेशन इसका उपयोग करते हैं। Android जिंजरब्रेड, Froyo, पर CAcert प्रमाणपत्र स्थापित करने के लिए इन निर्देशों का उपयोग करें ...
एंड्रॉइड 4.0 (एंड्रॉइड आईसीएस / 'आइसक्रीम सैंडविच', एंड्रॉइड 4.3 'जेली बीन' और एंड्रॉइड 4.4 'किटकैट') से शुरू, सिस्टम विश्वसनीय प्रमाण पत्र फ़ोल्डर (/ सिस्टम / आदि) में (केवल पढ़ने के लिए) सिस्टम विभाजन पर हैं। सुरक्षा / 'व्यक्तिगत फ़ाइलों के रूप में। हालांकि, उपयोगकर्ता अब आसानी से अपने स्वयं के 'उपयोगकर्ता' प्रमाणपत्र जोड़ सकते हैं जो '/ डेटा / मिस / किचेन / सीट्स-जोड़ा' में संग्रहीत किया जाएगा।
सिस्टम-इंस्टॉल किए गए प्रमाणपत्रों को सेटिंग में Android डिवाइस पर प्रबंधित किया जा सकता है -> सुरक्षा -> प्रमाण पत्र -> 'System-खंड, जबकि उपयोगकर्ता विश्वसनीय प्रमाणपत्रों को' उपयोगकर्ता 'अनुभाग में उपयोग किया जाता है। उपयोगकर्ता विश्वसनीय प्रमाण पत्र का उपयोग करते समय, एंड्रॉइड एंड्रॉइड डिवाइस के उपयोगकर्ता को अतिरिक्त सुरक्षा उपायों को लागू करने के लिए मजबूर करेगा: उपयोगकर्ता द्वारा आपूर्ति किए गए प्रमाण पत्र का उपयोग करने पर डिवाइस को अनलॉक करने के लिए पिन-कोड, एक पैटर्न-लॉक या पासवर्ड का उपयोग अनिवार्य है।
CAcert प्रमाणपत्रों को 'उपयोगकर्ता विश्वसनीय'-प्रमाणपत्रों के रूप में स्थापित करना बहुत आसान है। नए प्रमाणपत्रों को 'सिस्टम विश्वसनीय' प्रमाणपत्रों के रूप में स्थापित करने के लिए अधिक काम करने की आवश्यकता होती है (और रूट एक्सेस की आवश्यकता होती है), लेकिन इसमें एंड्रॉइड लॉकिंग आवश्यकता से बचने का लाभ है।
एंड्रॉइड एन के बाद से इसे एक लिटलर कठिन हो जाता है, चार्ल्स प्रॉक्सी वेबसाइट से यह अर्क देखें :
एंड्रॉइड एन के रूप में, आपको अपने एप्लिकेशन को कॉन्फ़िगरेशन को जोड़ने की आवश्यकता है, ताकि चार्ल्स एसएसएक्स प्रॉक्सी द्वारा उत्पन्न एसएसएल प्रमाणपत्रों पर भरोसा किया जा सके। इसका मतलब है कि आप केवल उन ऐप्स के साथ एसएसएल प्रॉक्सी का उपयोग कर सकते हैं जिन्हें आप नियंत्रित करते हैं।
चार्ल्स पर भरोसा करने के लिए अपने एप्लिकेशन को कॉन्फ़िगर करने के लिए, आपको अपने ऐप में नेटवर्क सुरक्षा कॉन्फ़िगरेशन फ़ाइल जोड़ने की आवश्यकता है। यह फ़ाइल सिस्टम डिफ़ॉल्ट को ओवरराइड कर सकती है, जिससे आपके ऐप को उपयोगकर्ता को CA प्रमाणपत्र (जैसे चार्ल्स रूट सर्टिफिकेट) पर भरोसा करने में सक्षम बनाता है। आप यह निर्दिष्ट कर सकते हैं कि यह केवल आपके एप्लिकेशन के डिबग बिल्ड में लागू होता है, ताकि उत्पादन में डिफ़ॉल्ट ट्रस्ट प्रोफ़ाइल का उपयोग हो।
अपने ऐप में एक फ़ाइल Res / xml / network_security_config.xml जोड़ें:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
फिर इस फ़ाइल के संदर्भ में अपने एप्लिकेशन के रूप में इस प्रकार जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>