簡體   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