OpenSSL से HTTP प्रॉक्सी के ज़रिए वेबसाइट प्रमाणपत्र की जाँच करें
HTTP CONNECT प्रॉक्सी के माध्यम से OpenSSL s_client इस्तेमाल करें और गंतव्य नाम, SNI तथा प्रमाणपत्र सत्यापन को एकसार रखें।
ऐसा इंस्टॉल किया हुआ OpenSSL s_client इस्तेमाल करें जो -proxy को support करता हो। अधिकृत HTTP CONNECT endpoint के लिए:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsप्रॉक्सी पता बदलें और इच्छित गंतव्य नाम का लगातार उपयोग करें। जिस प्रॉक्सी को चुनने की अनुमति हो, उसके माध्यम से public destination जाँचने के लिए HTTP proxy list से HTTP candidate चुनें। -connect target चुनता है, -servername उसके TLS virtual host के लिए SNI भेजता है, और -verify_hostname identity जाँचता है। केवल SNI hostname verification नहीं है। विकल्प बदलते समय installed release का manual देखें।
-showcerts server द्वारा भेजी गई चीज़ दिखाता है, यह नहीं बताता कि chain trusted है। -verify_return_error verification errors पर handshake समाप्त करता है; अन्यथा diagnostic client errors के बाद भी जारी रह सकता है। Private service के लिए किसी भी downloaded certificate पर भरोसा करने के बजाय approved CA material इस्तेमाल करें।
| परिणाम | चरण |
|---|---|
| 407 | Destination TLS से पहले proxy authentication। |
| अस्वीकृत CONNECT target | Proxy destination policy। |
| Certificate मिला और verification का प्रयास हुआ | Accepted tunnel के माध्यम से destination TLS exchange। |
OpenSSL 3.x और Basic-authenticating HTTP proxy के साथ destination verification बनाए रखते हुए s_client proxy-account options इस्तेमाल करें।
केवल SOCKS endpoint वह HTTP proxy interface नहीं देता जिसे यह command इस्तेमाल करती है। Authorized TLS interception में दिखाया गया certificate उस intermediary ने जारी किया हो सकता है। अंतर को खराब वेबसाइट मानने से पहले उसके issuer और intended trust arrangement की तुलना करें।