【问题标题】:Save X509 certificate to a file将 X509 证书保存到文件
【发布时间】: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


    【解决方案1】:

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

    #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 结构转换为纯文本字符串。
    【解决方案2】:

    要将证书编码到文件中,您可以使用以下 OpenSSL 函数:

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

    它使用 DER 编码将x 指向的 X509 结构编码到文件中。更多详情请关注OpenSSL API reference

    【讨论】:

    • 正确的形式是int i2d_X509_fp(FILE *fp, X509 *x);
    猜你喜欢
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2012-09-28
    相关资源
    最近更新 更多