将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);
答
将证书编码到一个文件,你可以使用这个功能的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
'X509_NAME_oneline()'用于将'X509_NAME'结构转换为纯文本字符串。 – caf 2011-05-23 05:35:44