繁体   English   中英

OpenSSL - 通过内存将 X509* x509 转换为 file-BIO*

[英]OpenSSL - Convert X509* x509 to file-BIO* via memory

我正在使用“.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);

可能第一步是将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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM