2017-03-23 3 views
0

Ich Spezifikationen für mein Unternehmen tun, und ich bin mit einem ernsten Problem konfrontiert: One of our supported embedded system does not have any file system.öffnen X509-Zertifikat mit OpenSSL auf Embedded-System ohne Dateisystem

Ja, wenn ein fopen auftritt oder eine E/A, wobei das System startet neu.

Ich arbeite nur auf der Serverseite. Zertifikat selbst erstellt.

Also, wie kann ich ein Zertifikat in OpenSSL laden? Ich habe auf mehreren Beispielen im Internet gesehen, Leute erzeugen es dann schreibe es in eine Datei, aber ich kann das nicht tun. Ist das obligatorisch?

Vielen Dank

+1

[Zertifikatsdateien aus dem Speicher anstelle einer Datei mit OpenSSL lesen] (http://stackoverflow.com/q/3810058/608639). – jww

Antwort

3

Nein, es ist nicht zwingend erforderlich. OpenSSL verwendet ein X509-Objekt zum Speichern eines Zertifikats. Mit der Funktion d2i_X509() können Sie das rohe (DER-Format) -Zertifikat aus einigen binären "const" -Daten im Speicher laden.

https://www.openssl.org/docs/man1.1.0/crypto/d2i_X509.html

Alternativ, wenn Sie die Daten im ASCII druckbaren PEM-Format zu speichern, würde es vorziehen, Sie PEM_read_bio_X509() laden das Zertifikat von einer mem BIO nutzen könnten (siehe BIO_new_mem_buf()) - was wiederum könnte Quelle das Zertifikat von einer in-memory „const“ Daten: https://www.openssl.org/docs/man1.1.0/crypto/PEM_read_bio_X509.html https://www.openssl.org/docs/man1.1.0/crypto/BIO_new_mem_buf.html

Sie nicht sagen, was Sie für das Zertifikat verwendet werden soll - aber wenn es SSL/TLS dann rufen Sie einfach an SSL_CTX_use_certificate() mit dem ist X509-Objekt, das Sie oben erstellt haben.

+0

Danke! Ich folgte diesem Thema: http://StackOverflow.com/Questions/256405/Programmatically-Create-x509-certificate-using-openssl und verwendete die Funktion SSL_CTX_use_certificate() mit dem X509 Danke nochmal !! – Render

Verwandte Themen