मैं एंड्रॉइड 4.3 में अपने वेब सर्वर के लिए स्व-हस्ताक्षरित प्रमाणपत्र स्थापित करने का प्रयास कर रहा हूं। मेरे पास एसडी कार्ड की जड़ में .crt फ़ाइल है (जो वास्तव में अनुकरणीय है क्योंकि मेरे पास स्लॉट में कोई एसडी कार्ड नहीं है)।
प्रमाणपत्र स्थापित करने के लिए मैं सेटिंग पर जा रहा हूं -> सामान्य -> सुरक्षा -> क्रेडेंशियल स्टोरेज -> डिवाइस स्टोरेज से इंस्टॉल करें।
मुझे प्रमाणपत्र का नाम (फ़ाइल नाम माइनस .crt एक्सटेंशन) दिखाते हुए एक डायलॉग बॉक्स मिलता है, जिसे मैं संशोधित कर सकता हूं ("नहीं," "वीपीएन और एप्स के साथ पुल" के लिए उपयोग किया जाता है) और नीचे दिया गया टेक्स्ट। "पैकेज में यह सूचित करता है कि संवाद: एक उपयोगकर्ता प्रमाणपत्र"। सब कुछ ठीक लग रहा है, इसलिए मैं "ओके" पर क्लिक करता हूं। संवाद चला जाता है और एक टोस्ट संदेश "[नाम] स्थापित" के साथ पॉप अप होता है।
हालाँकि अगर मैं तुरंत "विश्वसनीय क्रेडेंशियल्स" पर जाता हूं और "उपयोगकर्ता" का चयन करता हूं तो कुछ भी नहीं है! नया प्रमाणपत्र "सिस्टम" के अंतर्गत नहीं है, लेकिन मैं वहां इसकी उम्मीद नहीं करूंगा। अगर मैं इसके बाद किसी ब्राउज़र पर जाता हूं और मेरे पास जाने का प्रयास करता हूं। वेब साइट, मुझे अभी भी चेतावनी मिली है कि साइट के प्रमाण पत्र पर भरोसा नहीं है। मैंने रिबूट करने की भी कोशिश की है, लेकिन इससे कोई फर्क नहीं पड़ता।
मैं क्या गलत कर रहा हूं? त्रुटि संदेशों का पूर्ण अभाव मददगार नहीं है। क्या यह संभव है कि मेरा प्रमाणपत्र गलत प्रारूप में है? मैंने सर्वर के ssl निर्देशिका में .crt फ़ाइल का उपयोग करने की कोशिश की है और मैंने इसे DER प्रारूप में परिवर्तित करने का प्रयास किया है।
अद्यतन: मैंने कहीं पढ़ा है कि Android को p12 प्रारूप में होने के लिए प्रमाणपत्र की आवश्यकता होती है, इसलिए मैंने Apache2 प्रमाणपत्र को निम्नलिखित 12 का उपयोग करके p12 में बदल दिया:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
मैंने तब उपरोक्त चरणों को दोहराया, एक ही सफलता संदेश मिला, और फिर उपयोगकर्ता क्रेडेंशियल्स में प्रमाण पत्र को देखने के लिए आगे नहीं बढ़ा और मुझे अभी भी मोबाइल ब्राउज़र से बिना प्रमाणपत्र के त्रुटि मिली है।