Liệt kê tất cả các chứng chỉ ssl ca có sẵn


35

Yêu cầu khách hàng git của tôi

error: Peer's Certificate issuer is not recognized.

Điều đó có nghĩa là nó không thể tìm thấy khóa máy chủ ssl tương ứng trong khóa hệ thống toàn cầu. Tôi muốn kiểm tra điều này bằng cách xem danh sách tất cả các khóa ssl có sẵn trên toàn hệ thống trên một hệ thống linux gentoo. Làm thế nào tôi có thể có được danh sách này?

Câu trả lời:


65

Đó không phải là khóa SSL mà bạn muốn, đó là cơ quan cấp chứng chỉ và chính xác hơn là chứng chỉ của họ.

Bạn có thể thử:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

Để có được "chủ đề" của mọi chứng chỉ CA trong /etc/ssl/certs/ca-certificates.crt

Xin lưu ý rằng đôi khi, bạn gặp phải lỗi đó khi máy chủ SSL quên cung cấp chứng chỉ trung gian.

Sử dụng openssl s_client -showcerts -connect the-git-server:443để có được danh sách các chứng chỉ được gửi.


2
//, Điều này không hoạt động trên CEntOS 6, nhưng tôi đã thêm câu trả lời cho CEntOS 6 tại đây: unix.stackexchange.com/a/363309/48498
Nathan Basan

1
Danh sách từ trust listtừ gói P11-kit là về cơ bản giống nhau không?
Pablo A

15

Không chắc chắn về Gentoo nhưng hầu hết các distro đều đặt chứng chỉ liên kết mềm ở vị trí toàn hệ thống tại /etc/ssl/certs.

  • Các tệp chính đi vào /etc/ssl/private
  • Các tập tin thực tế do hệ thống cung cấp được đặt tại /usr/share/ca-certificates
  • Chứng chỉ tùy chỉnh đi vào /usr/local/share/ca-certificates

Bất cứ khi nào bạn đặt chứng chỉ vào một trong những đường dẫn được đề cập ở trên, hãy chạy update-ca-certificatesđể cập nhật /etc/ssl/certsdanh sách.


1
/etc/ssl/certslà thư mục chính xác trong gentoo. Nhưng các tập tin không tốt để đọc cho mắt người.
Jonas Stein

3
Đó là update-ca-certificatesmột bổ sung s(không thể tự chỉnh sửa điều này, vì nó chỉ là chỉnh sửa một ký tự).
Slaven Rezic

@SlavenRezic - Ai đó đã sửa nó.
Craig S. Anderson

3

Tôi có một yêu cầu liệt kê tất cả các certs trên máy chủ của chúng tôi và thông báo nếu chúng sắp hết hạn. Chúng tôi đã đưa ra lệnh này:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.