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

在没有文件系统的嵌入式系统上使用OpenSSL打开X509证书,openssl,filesystems,embedded,ssl-certificate,Openssl,Filesystems,Embedded,Ssl Certificate,我正在为我的公司做规范,我面临一个严重的问题:我们支持的一个嵌入式系统没有任何文件系统。 是,如果出现fopen或任何I/O,系统将重新启动 我只在服务器端工作。证书自动生成 那么,如何在OpenSSL中加载证书呢?我在互联网上看到过几个例子,人们生成它,然后将其写入文件,但我不能这样做。这是强制性的吗 谢谢不,这不是强制性的。OpenSSL使用X509对象存储证书。您可以使用d2i_X509()函数从一些内存二进制“const”数据加载原始(DER格式)证书 或者,如果您希望以ASCII可打

我正在为我的公司做规范,我面临一个严重的问题:
我们支持的一个嵌入式系统没有任何文件系统。

是,如果出现
fopen
或任何I/O,系统将重新启动

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

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


谢谢

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

或者,如果您希望以ASCII可打印的PEM格式存储数据,则可以使用PEM_read_bio_X509()从mem bio加载证书(请参阅bio_new_mem_buf())-这同样可以从一些内存中的“const”数据获取证书:


您没有说明要将证书用于什么目的,但如果是SSL/TLS,则只需使用上面创建的X509对象调用SSL_CTX_use_certificate()。

否,这不是必需的。OpenSSL使用X509对象存储证书。您可以使用d2i_X509()函数从一些内存二进制“const”数据加载原始(DER格式)证书

或者,如果您希望以ASCII可打印的PEM格式存储数据,则可以使用PEM_read_bio_X509()从mem bio加载证书(请参阅bio_new_mem_buf())-这同样可以从一些内存中的“const”数据获取证书:


您没有说明要使用证书的目的-但如果是SSL/TLS,则只需使用上面创建的X509对象调用SSL\u CTX\u use\u certificate()。

。谢谢!我遵循了这个思路:在X509中使用了函数SSL\u CTX\u use\u certificate(),再次感谢!!非常感谢。我遵循了这个思路:在X509中使用了函数SSL\u CTX\u use\u certificate(),再次感谢!!