Tôi đang sử dụng OpenSSL để xác minh chứng chỉ của máy chủ. Vì OpenSSL được vận chuyển mà không có bất kỳ CA gốc tích hợp nào, chúng ta phải phân phối chứng chỉ CA gốc với phần mềm của chúng tôi (chúng tôi liên kết tĩnh OpenSSL). Thông thường, cách để làm điều này là phân phối tệp chứng chỉ ở định dạng PEM và gọi SSL_CTX_load_verify_locations.C++/OpenSSL: Sử dụng CA gốc từ bộ đệm thay vì tệp (SSL_CTX_load_verify_locations)
Tuy nhiên, hàm này có đường dẫn tệp/thư mục và đọc (các) tệp chứng chỉ gốc trực tiếp từ hệ thống tệp. Chúng tôi thực sự muốn có thể mã hóa cứng chứng chỉ vào tệp nhị phân của chúng tôi thay vì lưu nó vào hệ thống tệp.
Nói cách khác, chúng tôi thực sự muốn có một chức năng như SSL_CTX_load_verify_locations lấy X509 * thay vì đường dẫn tệp.
Có điều gì như thế này không? hoặc có cách nào dễ dàng để tự hack với nhau? Chúng tôi dường như không thể tìm thấy nhiều thông tin về điều này.
Cảm ơn bạn rất nhiều vì bất kỳ đề xuất nào!
Điều gì ngăn bạn lưu chứng chỉ gốc được mã hóa cứng trên đĩa trước khi gọi SSL_CTX_load_verify_locations? –
Không có gì ngăn cản nó: tuy nhiên, chúng tôi là một ứng dụng bảo mật và lo lắng về sự can thiệp độc hại. Đặc biệt, nếu dễ định vị và ghi đè lên tệp chứng chỉ gốc của chúng tôi thì bạn có thể cản trở bất kỳ giao dịch SSL nào của chúng tôi. Chúng tôi sẽ đi tuyến đường này nếu cần thiết, nhưng nó sẽ là tuyệt vời để có thể biên dịch các chứng chỉ gốc vào bản thân nhị phân. – DSII
Nó không an toàn hơn để mã hóa CA gốc của bạn được mã hóa cứng hơn giữ nó trong một tệp. –