Để kiểm tra xem chứng chỉ cho google.com đã bị thu hồi chưa, tôi đã thử lệnh sau:
curl https://www.google.com --cacert GeoTrust_Global_CA.pem --crlfile gtglobal.pem -v
, nhưng tôi đã gặp phải lỗi "vấn đề chứng chỉ SSL" đáng sợ:
* About to connect() to www.google.com port 443 (#0)
* Trying 81.24.29.91... connected
* successfully set certificate verify locations:
* CAfile: GeoTrust_Global_CA.pem
CApath: /etc/ssl/certs
* successfully load CRL file:
* CRLfile: gtglobal.pem
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
Tôi đoán lỗi này là không chính xác, vì Google nên có chứng chỉ hợp lệ.
Bạn có biết làm thế nào tôi có thể ban hành một lệnh curl mà làm điều này một cách chính xác?
Thêm chi tiết
Nếu bạn đang tự hỏi tại sao tôi sử dụng các tệp cụ thể đó (GeoTrust_Global_CA.pem và gtglobal.pem) trong lệnh curl, thì đây là cách tôi tiến hành:
- Lần đầu tiên tôi nhìn vào những gì CA đã cấp chứng chỉ cho https://www.google.com . Hóa ra đó là GeoTrust Global CA;
- Tôi đã tải xuống chứng chỉ gốc GeoTrust Global CA từ đây (đây là tệp GeoTrust_Global_CA.pem);
- Tôi đã tải xuống CRL tương ứng (danh sách thu hồi chứng chỉ) từ đây (đây là tệp gtglobal.pem).