将X509证书保存到文件中

时间:2011-05-22 13:39:18

标签: c ssl openssl x509certificate x509

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

如何将证书保存到文件中? 此外,我需要从证书中获取“主题DN”和“颁发者DN”字段。

2 个答案:

答案 0 :(得分:7)

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

#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); 

答案 1 :(得分:2)

要将证书编码为文件,您可以使用此OpenSSL函数:

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

它使用DER编码将x指向的X509结构编码到文件中。有关OpenSSL API reference的详细信息。