ब्राउज़रों के पास विश्वसनीय "प्रमाणन प्राधिकरण" (CA) प्रमाणपत्रों की एक सूची है। यदि सर्वर का प्रमाणपत्र उन CA प्रमाणपत्रों में से एक पर हस्ताक्षरित है और ठीक से बना है, तो आपको SSL चेतावनी नहीं मिलेगी।
कई ब्राउज़र कई सामान्य CA प्रमाणपत्र जैसे कि Verisign, Thawte, आदि के साथ जहाज करते हैं। अधिकांश ब्राउज़र आपको विश्वसनीय CA की इस सूची में एक नया CA आयात करने की अनुमति देते हैं।
अपने स्वयं के हस्ताक्षरित सर्वर प्रमाणपत्र बनाने की तरह, आप अपने स्वयं के हस्ताक्षरित सीए प्रमाण पत्र बना सकते हैं। फिर आप अपने सर्वर प्रमाणपत्र पर हस्ताक्षर करने के लिए इसका उपयोग कर सकते हैं। यदि आपका CA किसी जानी-मानी कंपनी द्वारा प्रदान नहीं किया गया है, जो कि ऐसा नहीं होगा यदि वह आपके द्वारा बनाया गया है, तो उसे सर्वर साइड पर स्पष्ट रूप से आयात करना होगा।
मैंने पहले भी ऐसा किया xca
है। इसमें CA और HTTP सर्वर के लिए टेम्प्लेट हैं। प्रक्रिया यह है:
- अपने CA के लिए एक निजी कुंजी बनाएं
- "सीए" टेम्पलेट का उपयोग करके इस कुंजी का उपयोग करके एक स्व-हस्ताक्षरित सीए बनाएं
- अपने प्रॉक्सी सर्वर के लिए एक निजी कुंजी बनाएं
- दूसरी कुंजी का उपयोग करके "प्रमाणपत्र पर हस्ताक्षर करने का अनुरोध" (CSR) बनाएं, जो आपने अभी सीए को संदर्भित किया है।
- सीएसआर पर "साइन" करें और आपके पास प्रॉक्सी सर्वर प्रमाण पत्र होगा, जो आपके स्वयं के सीए को संदर्भित करता है।
फिर आपको xca
CA प्रमाणपत्र का उपयोग करके निर्यात करना होगा (एक फ़ाइल के रूप में ) (लेकिन निजी कुंजी शामिल नहीं है)। A .pem
जनरेट होगा लेकिन आप एक्सटेंशन को बदल सकते हैं .crt
। जब कोई उपयोगकर्ता उस पर क्लिक करता है, तो उसे फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर और संभवतः अन्य प्रमुख ब्राउज़रों पर स्थापित करने की पेशकश की जाएगी। जहाँ तक इस स्वत: स्थापना के रूप में।
- IE पर समूह नीति का उपयोग करें
- एक परिचय पृष्ठ पर सीधे उपयोगकर्ताओं को चेतावनी से बचने के लिए उन्हें .crt को डाउनलोड / इंस्टॉल करने के लिए कहें।
फिर आप अपने प्रॉक्सी सर्वर पर डालने के लिए HTTP सर्वर सर्टिफिकेट (सर्वर साइड के लिए प्राइवेट की और सर्टिफिकेट दोनों के लिए निर्यात कार्यों) का उपयोग कर सकते हैं।
/etc/ssl/certs/ssl-cert-snakeoil.pem
(यह वही है जो डेबियन पैकेजssl-cert
आपके लिए बनाता है)। हम इसे ए होस्ट करने के लिए कॉपी करते हैं और इसे कॉल करते हैं/etc/ssl/certs/host-B.pem
(क्योंकि यह होस्ट पहले से ही हो सकता हैssl-cert-snakeoil.pem
)। फिर हम दौड़ते हैंln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem)
।