OpenSSL-ով HTTP պրոքսիի միջոցով ստուգեք կայքի վկայականը
Օգտագործեք OpenSSL s_client-ը HTTP CONNECT պրոքսիի միջոցով և համապատասխանեցրեք նպատակակետի անունը, SNI-ն ու վկայականի ստուգումը։
Օգտագործեք տեղադրված OpenSSL s_client, որը աջակցում է -proxy-ին։ Թույլատրված HTTP CONNECT վերջնակետի համար՝
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsՓոխարինեք պրոքսիի հասցեն և հետևողականորեն օգտագործեք նախատեսված նպատակակետի անունը։ Ընտրելի պրոքսիով հանրային նպատակակետը ստուգելու համար HTTP պրոքսիների ցանկից ընտրեք HTTP թեկնածու։ -connect-ը ընտրում է թիրախը, -servername-ը SNI է ուղարկում դրա TLS վիրտուալ հոսթին, իսկ -verify_hostname-ը ստուգում է ինքնությունը։ Միայն SNI-ն հոսթի անվան ստուգում չէ։ Ընտրանքները հարմարեցնելիս ստուգեք տեղադրված թողարկման ձեռնարկը։
-showcerts-ը ցուցադրում է սերվերի ուղարկածը, բայց չի հայտարարում, որ շղթան վստահելի է։ -verify_return_error-ը ստուգման սխալների դեպքում ավարտում է handshake-ը, հակառակ դեպքում ախտորոշիչ հաճախորդը կարող է շարունակել սխալներից հետո։ Անձնական ծառայության համար օգտագործեք հաստատված CA նյութ և մի վստահեք պատահականորեն ներբեռնված վկայականին։
| Արդյունք | Փուլ |
|---|---|
| 407 | Պրոքսիի նույնականացում՝ նպատակակետի TLS-ից առաջ։ |
| Մերժված CONNECT նպատակակետ | Պրոքսիի նպատակակետի քաղաքականություն։ |
| Վկայականը ստացվել է, և ստուգման փորձ է արվել | Նպատակակետի TLS փոխանակում ընդունված թունելի միջոցով։ |
OpenSSL 3.x-ի և Basic նույնականացմամբ HTTP պրոքսիի դեպքում օգտագործեք s_client-ի պրոքսի հաշվի ընտրանքները՝ պահպանելով նպատակակետի ստուգումը։
Միայն SOCKS վերջնակետը չի տրամադրում այս հրամանի օգտագործած HTTP պրոքսիի միջերեսը։ Թույլատրված TLS միջամտության դեպքում ցուցադրված վկայականը կարող է տրված լինել այդ միջնորդի կողմից։ Տարբերությունը կոտրված կայքին վերագրելուց առաջ համեմատեք դրա թողարկողին և նախատեսված վստահության կառուցվածքը։