[英]Converting BIO* to PKCS7* in C++ using OpenSSL library
關於BIO *到PKCS7 *的轉換,我遇到了問題。 我想調用PKCS7_decrypt()函數來解密密文。 在此之前,我有這段代碼:
in = BIO_new_mem_buf(chEnc, iLength);
if (!in) {
fprintf(stderr, "\nError in BIO_new_mem_buf in verifyEC. STDERR: ");
ERR_print_errors_fp(stderr);
return 0;
}
p7 = d2i_PKCS7_bio(in, NULL);
if (!p7) {
fprintf(stderr, "Error in d2i_PKCS7_bio.\n");
ERR_print_errors_fp(stderr);
return 0;
}
d2i_PKCS7_bio()始終失敗,並返回以下錯誤消息:
140172957116064:錯誤:0D0680A8:asn1編碼例程:ASN1_CHECK_TLEN:錯誤的標簽:tasn_dec.c:1319:140172957116064:錯誤:0D07803A:asn1編碼例程:ASN1_ITEM_EX_D2I:嵌套的asn1錯誤:tasn_dec.c7:381:類型
知道如何解決嗎? 這是由於編碼引起的問題嗎? 還是轉換問題?
提前致謝
這可能是由於錯誤的輸入格式所致:d2i_PKCS7_bio期望二進制為der PKCS7。
另一方面,如果您輸入的內容是pem格式,則應改為調用PEM_read_bio_PKCS7。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.