在没有文件系统的嵌入式系统上使用OpenSSL打开X509证书

时间:2017-03-23 08:46:35

标签: openssl filesystems embedded ssl-certificate

我正在为我的公司做规范,我面临一个严重的问题:One of our supported embedded system does not have any file system.

是的,如果发生fopen或任何I / O,系统将重新启动。

我只在服务器端工作。证书自生成。

那么,如何在OpenSSL中加载证书?我在互联网上的几个例子中看到过,人们生成它然后将其写入文件但我不能这样做。那是强制性的吗?

谢谢

1 个答案:

答案 0 :(得分:3)

不,不是强制性的。 OpenSSL使用X509对象来存储证书。您可以使用d2i_X509()函数从内存二进制文件中加载一些原始(DER格式)证书" const"数据

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

或者,如果您更喜欢以ASCII可打印的PEM格式存储数据,您可以使用PEM_read_bio_X509()从mem BIO加载证书(请参阅BIO_new_mem_buf()) - 这也可以从中获取证书一些记忆中的" const"数据: 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,则只需使用您在上面创建的X509对象调用SSL_CTX_use_certificate()。