【发布时间】:2011-08-30 14:30:15
【问题描述】:
我正在使用 HTTPS 客户端,我设法建立了一个安全连接并使用:X509 *cert = SSL_get_certificate(ssl);(ssl 是 SSL*)获取 X509 证书。
如何将证书保存到文件中?
另外,我需要从证书中获取“Subject DN”和“Issuer DN”字段。
【问题讨论】:
标签: c ssl openssl x509certificate x509
我正在使用 HTTPS 客户端,我设法建立了一个安全连接并使用:X509 *cert = SSL_get_certificate(ssl);(ssl 是 SSL*)获取 X509 证书。
如何将证书保存到文件中?
另外,我需要从证书中获取“Subject DN”和“Issuer DN”字段。
【问题讨论】:
标签: c ssl openssl x509certificate x509
-- 如何将证书保存到文件中?
#include <openssl/pem.h>
int PEM_write_X509(FILE *fp, X509 *x);
-- 另外,我需要从证书中获取“Subject DN”和“Issuer DN”字段。
#include <openssl/x509.h>
X509_NAME * X509_get_issuer_name(X509 *a);
X509_NAME * X509_get_subject_name(X509 *a);
【讨论】:
X509_NAME_oneline() 可用于将X509_NAME 结构转换为纯文本字符串。
要将证书编码到文件中,您可以使用以下 OpenSSL 函数:
int i2d_X509_fp(X509 *x, FILE *fp);
它使用 DER 编码将x 指向的 X509 结构编码到文件中。更多详情请关注OpenSSL API reference。
【讨论】:
int i2d_X509_fp(FILE *fp, X509 *x);