【问题标题】:OpenSSL - Convert X509* x509 to file-BIO* via memoryOpenSSL - 通过内存将 X509* x509 转换为 file-BIO*
【发布时间】:2019-06-12 08:37:37
【问题描述】:

我正在使用“.cer”证书文件,我的任务是将其推送到堆栈 STACK_OF(X509_INFO) *sk;

我已将“.cer”转换为X509* ptr,现在我面临的问题是如何将X509* ptr 转换为BIO* stackbio,因为我使用的方法需要BIO* 作为参数入栈。

sk = PEM_X509_INFO_read_bio(BIO* stackbio, sk, NULL, NULL);

【问题讨论】:

    标签: c++ openssl x509certificate


    【解决方案1】:

    第一步可能是将X509* 转换为BIO*。执行此操作的函数是:int i2d_X509_bio(BIO *bp, X509 *x);。根据文档https://linux.die.net/man/3/d2i_x509

    i2d_X509_bio() 与 i2d_X509() 类似,不同之处在于它写入了编码 将结构 x 转换为 BIO bp,成功返回 1,成功返回 0 失败。

    一旦你获得了包含编码证书的BIO*,你应该可以将它推入堆栈https://wiki.openssl.org/index.php/STACK_API

    /* add value */
    #define sk_BIO_insert(st, val, i)       SKM_sk_insert(BIO, (st), (val), (i))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      • 2015-07-21
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 2021-08-28
      相关资源
      最近更新 更多