Có cách nào để thiết lập ngữ cảnh OpenSSL (SSL_CTX
) với tập hợp chứng chỉ CA đáng tin cậy hợp lý mà không cần tự phân phối không? Tôi không muốn có trách nhiệm cập nhật chúng. IMO bất kỳ hệ điều hành hiện đại nào đều phải cung cấp "cho tôi các chứng chỉ CA đáng tin cậy" như một dịch vụ, nhưng tôi không biết đó có phải là trường hợp không.OpenSSL mặc định hợp lý cho chứng chỉ CA đáng tin cậy?
Tôi không ngại viết mã này ba lần (một lần cho Windows, một lần cho Mac OS X, và một lần cho Linux), nhưng tôi muốn giới hạn nó ở đó. Đặc biệt, tôi không muốn viết mã để tìm hiểu xem trình duyệt nào được cài đặt và cố gắng trích xuất các chứng chỉ đáng tin cậy của họ. (Rõ ràng là easy to get this very wrong.)
Câu trả lời cho các phiên bản gần đây của Linux có vẻ là gọi SSL_CTX_load_verify_locations
với /etc/ssl/certs/ca-certificates.crt
(nếu tệp đó tồn tại).
Có câu trả lời đơn giản nào cho Windows và Mac OS X không?
Bạn có biết cách 'certtool' hoạt động đối với chứng chỉ được gắn cờ rõ ràng là" không bao giờ tin tưởng "không? – Bruno
Tôi không nghĩ certtool sẽ hiển thị bất cứ điều gì liên quan đến mức độ tin cậy; bạn muốn truy vấn sự tin cậy bằng cách sử dụng một cơ chế khác. Hãy thử 'bảo mật con người 'cho một cách tốt, nếu bạn thực sự sử dụng các công cụ dòng lệnh cho việc này. –
Xem thêm tiện ích certsync của MacPorts (https://trac.macports.org/browser/trunk/dports/security/certsync/#files, mã thực tế nằm trong 'files/certsync.m'), cũng xuất khẩu đáng tin cậy rễ vào một tập tin và không chú ý đến các lá cờ tin cậy (bằng cách không xuất khẩu chúng). – neverpanic