我正在使用HTTPS客户端,并设法建立安全连接并使用以下方式获取X509证书:
X509 *cert = SSL_get_certificate(ssl);
(ssl是SSL *)。
如何将证书保存到文件中?
此外,我需要从证书中获取“主题DN”和“颁发者DN”字段。
答案 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的详细信息。