इसका सरल उत्तर यह है कि बहुत अधिक प्रत्येक एप्लिकेशन इसे अलग तरीके से हैंडल करेगा।
इसके अलावा ओपनएसएसएल और जीएनयूटीएलएस (हस्ताक्षरित प्रमाणपत्रों को संभालने के लिए इस्तेमाल किया जाने वाला सबसे व्यापक रूप से इस्तेमाल किया जाने वाला सर्टिफिकेट लाइब्रेरियों) सेर्ट्स के अपने उपचार में अलग तरह से व्यवहार करता है जो इस समस्या को भी जटिल करता है। अधिकांश वेबसाइटों द्वारा उपयोग किए जाने वाले "रूट CA" का उपयोग करने के लिए भी ऑपरेटिंग सिस्टम विभिन्न तंत्रों का उपयोग करते हैं।
एक तरफ, डेबियन को एक उदाहरण के रूप में देना। ca-certificatesपैकेज स्थापित करें :
apt-get install ca-certificates
आप तब अपने अविश्वासित सीए सर्टिफिकेट (जिसको आप अपने सीएसआर पर हस्ताक्षर करने के लिए इस्तेमाल करते हैं) के आधे हिस्से को सीए सर्टिफिकेट डायरेक्टरी (रूट के रूप में) में कॉपी करते हैं:
cp cacert.pem /usr/share/ca-certificates
और इसे अपने प्रमाणपत्र के साथ निर्देशिका के पुनर्निर्माण के लिए प्राप्त करें, रूट के रूप में चलाएं:
dpkg-reconfigure ca-certificates
और askविकल्प चुनें, अपने प्रमाणपत्र पर स्क्रॉल करें, इसे शामिल करने के लिए चिह्नित करें और ठीक चुनें।
अधिकांश ब्राउज़र अपने स्वयं के CA डेटाबेस का उपयोग करते हैं, और इसलिए certutilउनकी सामग्री को संशोधित करने के लिए उपयोग किया जाना चाहिए ( libnss3-toolsपैकेज द्वारा प्रदान की गई डेबियन पर )। उदाहरण के लिए, Chrome के साथ आप निम्न के साथ कुछ चलाते हैं:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
फ़ायरफ़ॉक्स आपको डिस्क पर प्रमाण पत्र को ब्राउज़ करने की अनुमति देगा, इसे एक प्रमाण पत्र फ़ाइल को मान्यता देगा और फिर आपको इसे रूट सीए सूची में आयात करने की अनुमति देगा।
अधिकांश अन्य कमांड जैसे curlकमांड लाइन स्विच लेते हैं जिसका उपयोग आप अपने सीए पर इंगित करने के लिए कर सकते हैं,
curl --cacert /path/to/CA/cert.file https://...
या SSL सत्यापन को पूरी तरह से छोड़ दें
curl --insecure https://...
बाकी को अलग-अलग जांच की आवश्यकता होगी अगर उस ca-certificatesतरह की चाल उस विशेष एप्लिकेशन के लिए इसे सॉर्ट नहीं करती है।