我這樣做對我公司的規格,我面臨着一個嚴重的問題:One of our supported embedded system does not have any file system.
打開X509證書
是,如果fopen
發生或任何I/O,系統重新啓動。
我只工作在服務器端。證書自己生成。
所以,我怎樣才能加載OpenSSL的證書?我在互聯網上看到過幾個例子,人們生成它然後寫在一個文件中,但我不能這樣做。這是強制性的嗎?
謝謝
我這樣做對我公司的規格,我面臨着一個嚴重的問題:One of our supported embedded system does not have any file system.
打開X509證書
是,如果fopen
發生或任何I/O,系統重新啓動。
我只工作在服務器端。證書自己生成。
所以,我怎樣才能加載OpenSSL的證書?我在互聯網上看到過幾個例子,人們生成它然後寫在一個文件中,但我不能這樣做。這是強制性的嗎?
謝謝
不,它不是強制性的。 OpenSSL使用X509對象來存儲證書。您可以使用d2i_X509()函數從內存二進制「const」數據中加載一些原始(DER格式)證書。
https://www.openssl.org/docs/man1.1.0/crypto/d2i_X509.html
另外,如果您希望將數據存儲在你可以使用PEM_read_bio_X509()來加載從MEM BIO證書的ASCII可打印PEM格式(見BIO_new_mem_buf()) - 它再次可能一些內存「常量」數據源中的證書: 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
你不說你要使用的證書是什麼 - 但如果它是SSL/TLS則只需調用SSL_CTX_use_certificate()與您在上面創建的X509對象。
謝謝!我跟着這個線程:http://stackoverflow.com/questions/256405/programmatically-create-x509-certificate-using-openssl和使用的功能SSL_CTX_use_certificate()與X509再次感謝您! – Render
[從存儲器而不是使用OpenSSL的文件讀取證書文件](http://stackoverflow.com/q/3810058/608639)。 – jww