Kiểm tra chứng chỉ trang web qua proxy HTTP bằng OpenSSL
Dùng OpenSSL s_client qua proxy HTTP CONNECT và giữ nhất quán tên đích, SNI cùng việc xác minh chứng chỉ.
Dùng OpenSSL s_client đã cài đặt và hỗ trợ -proxy. Với endpoint HTTP CONNECT được ủy quyền:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsThay địa chỉ proxy và dùng nhất quán tên đích dự kiến. Để kiểm tra đích công khai qua proxy bạn được phép chọn, hãy chọn một ứng viên HTTP từ danh sách proxy HTTP. -connect chọn mục tiêu, -servername gửi SNI cho máy chủ ảo TLS của nó, còn -verify_hostname kiểm tra danh tính. Chỉ SNI không phải là xác minh tên máy chủ. Khi điều chỉnh tùy chọn, hãy xem sổ tay của bản phát hành đã cài.
-showcerts hiển thị nội dung máy chủ đã gửi, không tuyên bố chuỗi được tin cậy. -verify_return_error khiến lỗi xác minh kết thúc handshake; nếu không, máy khách chẩn đoán có thể tiếp tục sau lỗi. Với dịch vụ riêng, hãy dùng vật liệu CA được phê duyệt thay vì tin vào chứng chỉ tải ngẫu nhiên.
| Kết quả | Giai đoạn |
|---|---|
| 407 | Xác thực proxy trước TLS của đích. |
| Đích CONNECT bị từ chối | Chính sách đích của proxy. |
| Đã nhận chứng chỉ và thử xác minh | Trao đổi TLS của đích qua đường hầm được chấp nhận. |
Với OpenSSL 3.x và proxy HTTP xác thực bằng Basic, hãy dùng các tùy chọn tài khoản proxy của s_client đồng thời giữ xác minh đích.
Endpoint chỉ hỗ trợ SOCKS không cung cấp giao diện proxy HTTP mà lệnh này dùng. Khi được phép chặn TLS, chứng chỉ hiển thị có thể do bên trung gian đó cấp. Hãy so sánh nhà phát hành và cấu trúc tin cậy dự kiến trước khi quy khác biệt cho một trang web hỏng.