Tôi có một máy chủ sẽ nghe trên HTTPS bằng OpenSSL. Đối với điều này, tôi phải cung cấp chứng chỉ để sử dụng. Tuy nhiên, việc triển khai hiện tại sử dụng tên tệp được cung cấp cho API OpenSSL.Đọc các tệp chứng chỉ từ bộ nhớ thay vì tệp bằng OpenSSL
Tôi muốn thông tin chứng chỉ được đọc từ bộ nhớ, để tôi không phải gửi mở tệp chứng chỉ. Tôi đã cố gắng để google, nhưng tôi đã không đưa ra bất kỳ tùy chọn.
Có thể không? Nếu vậy, làm cách nào để đọc tệp chứng chỉ từ bộ nhớ thay vì tệp bằng OpenSSL?
EDIT: Sau đây đã được chuyển từ các ý kiến cho câu hỏi.
// CURRENT
void start_server()
{
const char *fileName = "cert_and_key.pem";
set_server_ssl_file(fileName);
}
set_server_ssl_file(const char *fileName)
{
//initialize context
SSL_CTX_use_certificate_file(CTX, pem, SSL_FILETYPE_PEM);
SSL_CTX_use_PrivateKey_file(CTX, pem, SSL_FILETYPE_PEM);
}
//REQUIRED
void start_server()
{
const char *cert = "--BEGIN CERTIFICATE--............";
const char *key = "--BEGIN RSA PRIVATE KEY--.......";
set_server_ssl_options(cert, key);
}
set_server_ssl_options(const char *cert, const char *key)
{
//IMPLEMENTATION REQUIRED
}
"Tôi muốn thông tin xác thực được đọc từ bộ nhớ, để tôi không phải gửi mở chứng chỉ" - Bạn có thể làm rõ điều này không? Không chắc chắn những gì bạn có ý nghĩa ở đây. Mã nào sẽ nhận được chứng nhận ngay từ đầu? –
Tôi có các tệp chứng chỉ với tôi ngay bây giờ. Máy chủ phải sử dụng chúng. Thực hành thông thường là cung cấp OpenSSL với tên tệp của tệp chứng chỉ. OpenSSL sẽ chăm sóc những thứ còn lại trong nội bộ. Nhưng tôi không thể gửi trực tiếp các tập tin chứng chỉ. Tôi sẽ CÓ để mã cứng chúng vào mã nguồn. Đó là yêu cầu. Vì vậy, đã xem xét các tùy chọn mà tôi có chứng chỉ trong bộ nhớ đệm và bằng cách nào đó làm cho OpenSSL sử dụng thông tin chứng chỉ đó. – Karthik
Bạn có thể vui lòng chỉ định những gì bạn đang làm với một số mã mẫu không? Các ngữ cảnh SSL của chứng chỉ có thể được tạo ra từ bộ nhớ nhưng nó sẽ hữu ích nếu bạn chỉ có thể chia sẻ những gì bạn muốn đạt được với một số mã. –