将X509证书保存到文件

问题描述:

我正在使用HTTPS客户端,并且设法建立安全连接并使用以下方式获取X509证书:
X509 *cert = SSL_get_certificate(ssl);(ssl是SSL *)。

如何将证书保存到文件? 另外,我需要从证书中获得“Subject DN”和“Issuer DN”字段。将X509证书保存到文件

- 如何将证书保存到文件?

#include <openssl/pem.h> 
int PEM_write_X509(FILE *fp, X509 *x); 

- 另外,我需要得到 “主题DN”,并从证书 “颁发者DN” 字段。

#include <openssl/x509.h> 
X509_NAME *  X509_get_issuer_name(X509 *a); 
X509_NAME *  X509_get_subject_name(X509 *a); 
+2

'X509_NAME_oneline()'用于将'X509_NAME'结构转换为纯文本字符串。 – caf 2011-05-23 05:35:44

将证书编码到一个文件,你可以使用这个功能的OpenSSL:

int i2d_X509_fp(X509 *x, FILE *fp); 

它编码使用DER编码由x指出到文件的X509结构。有关OpenSSL API reference的更多详细信息。

+0

正确的形式是'int i2d_X509_fp(FILE * fp,X509 * x);' – Kyrol 2017-08-16 20:44:54