[英]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.