Tôi có một tập lệnh perl chạy openssl để kiểm tra tính hợp lệ của chứng chỉ cục bộ. Tôi không muốn chỉ đặt một env var và bỏ đi. Cảm giác này giống như có gì đó buồn cười với cài đặt hoặc cấu hình openssl của tôi
Hệ thống là gì, các phiên bảnâ¦
Tôi đang xác thực cục bộ các chứng chỉ từ Letsencrypt. Đây là hệ thống 20.04/Focal. Openssl là OpenSSL 1.1.1f ngày 31 tháng 3 năm 2020
và vì vậy tôi hy vọng nó sẽ vui vẻ xác thực các chứng chỉ, ngay cả khi LE "ký chéo" chúng bằng chứng chỉ gốc ISRG mới.
Tuy nhiên, sau khi chứng chỉ X3 cũ hết hạn, những lỗi này bắt đầu…¦
xác minh openssl -verbose -mục đích sslserver -CAfile /path/redacted/chain.pem/path/redacted/cert.pem
C = US, O = Nhóm nghiên cứu bảo mật Internet, CN = ISRG Root X1.
lỗi 2 khi tra cứu độ sâu 2: không thể lấy chứng chỉ của tổ chức phát hành.
lỗi /path/redacted/cert.pem: xác minh không thành công
Điều này cảm thấy kỳ lạ. Một số đào khiến tôi tự hỏi về -trusted_first
tùy chọn để xác minh openssl
. Đây chính xác là những gì openssl sẽ khiếu nại nếu tùy chọn đầu tiên đáng tin cậy là không phải kích hoạt. Tuy nhiên, việc cố gắng kích hoạt tùy chọn đó một cách rõ ràng không ảnh hưởng gì:
xác minh openssl -trusted_first -verbose -mục đích sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem
C = US, O = Nhóm nghiên cứu bảo mật Internet, CN = ISRG Root X1
lỗi 2 khi tra cứu độ sâu 2: không thể lấy chứng chỉ nhà phát hành
lỗi /path/redacted/cert.pem: xác minh không thành công
Được rồi. tùy chọn đó Nên ở trên theo mặc định kể từ openssl 1.1.1 (đó là hệ thống này, xem ở trên). Vì vậy, việc tôi bao gồm nó một cách rõ ràng sẽ không tạo ra sự khác biệt nào.
Nhưng cuối cùng tôi đã thử chỉ định nó là một env var.Chờ cái gì? Tại sao việc chỉ định biến môi trường này khắc phục hành vi của openssl để tin tưởng vào chứng chỉ gốc đầu tiên mà nó tìm thấy trong chuỗi:
đặt X509_V_FLAG_TRUSTED_FIRST xác minh openssl -trusted_first -verbose -purpose sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem
â¦chạy với giá trị thoát bằng không.
thu nhỏ
Tôi không hiểu tại sao openssl không hoạt động (tm). Đây là bản cập nhật đầy đủ 20.04. Chứng chỉ gốc ISRG mới hơn được cài đặt trong /etc/ssl/certs/ISRG_Root_X1.pem
và cập nhật-ca-chứng chỉ
hạnh phúc:
Cập nhật chứng chỉ trong /etc/ssl/certs...
0 được thêm vào, 0 được loại bỏ; xong.
Chạy hook trong /etc/ca-certificates/update.d...
xong.