Ho un server che ascolta su HTTPS utilizzando OpenSSL. Per questo, devo fornire il certificato da utilizzare. Tuttavia, l'implementazione corrente utilizza un nome file da fornire all'API OpenSSL.Leggere i file dei certificati dalla memoria anziché da un file utilizzando OpenSSL
Desidero che le informazioni del certificato vengano lette dalla memoria, in modo da non dover spedire l'apertura del file del certificato. Ho provato a google, ma non ho trovato nessuna opzione.
È possibile? In tal caso, come faccio a leggere i file dei certificati dalla memoria anziché da un file utilizzando OpenSSL?
EDIT: Il seguente è stato spostato dai commenti alla domanda.
// 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
}
"Voglio che le informazioni del certificato vengano lette dalla memoria, in modo da non dover spedire il file del certificato aperto" - Puoi chiarire questo? Non sei sicuro di cosa intendi qui. Dove sarebbe il codice ottenere il certificato in primo luogo? –
Ho i file del certificato con me ora. Il server deve usarli. La pratica normale è quella di fornire OpenSSL con il nome file del file del certificato. OpenSSL si prenderà cura delle restanti cose internamente. Ma non posso spedire direttamente i file del certificato. Dovrei codificarli nel codice sorgente. Questo è il requisito. Quindi, stavo osservando le opzioni in cui ho il certificato in un buffer di memoria e in qualche modo rendere OpenSSL utilizzare le informazioni del certificato. – Karthik
Puoi specificare cosa stai facendo con un codice di esempio? I contesti SSL certificati possono essere creati dalla memoria, ma sarebbe utile se fosse possibile condividere ciò che si desidera ottenere con un certo codice. –