I2D_PKCS7_BIO_STREAM(3ossl)
π I2D_PKCS7_BIO_STREAM (3ossl) β like, the BER-format PKCS7 streamer β¨
okay so bestie, this one's from the OpenSSL manual, 3ossl section, and it's honestly a little guy with a big job: it writes out a PKCS7 structure in BER format. no cap. let's get into it π«Ά
πΈ NAME πΈ
i2d_PKCS7_bio_stream β output PKCS7 structure in BER format π
β¨ SYNOPSIS β¨
#include <openssl/pkcs7.h>
int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *data, int flags);
literally just pull in <openssl/pkcs7.h> and you're so ready π
π¦ DESCRIPTION π¦
So i2d_PKCS7_bio_stream() outputs a PKCS7 structure in BER format. that's the whole vibe.
Other than that? it's identical to the function SMIME_write_PKCS7(). like, same energy, same behaviour, no notes π
π NOTES π
This function is effectively a version of d2i_PKCS7_bio() that supports streaming. yep, that's the tea β
π BUGS π
Okay so this is lowkey funny β the prefix "i2d" is arguably wrong, because the function outputs BER format. the naming department kinda fumbled that one ngl π not me pointing it out, the manpage does.
π₯ RETURN VALUES π₯
1β slay, it worked (success) β¨0β nope, it failed π
π SEE ALSO π
Go read these next, bestie, they're all linked up:
ERR_get_error(3)PKCS7_sign(3)PKCS7_verify(3)PKCS7_encrypt(3)PKCS7_decrypt(3)SMIME_write_PKCS7(3)PEM_write_bio_PKCS7_stream(3)
π§ HISTORY π§
The i2d_PKCS7_bio_stream() function was added in OpenSSL 1.0.0. she's been iconic since day one π
π COPYRIGHT π
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
fr fr read the license before you go copying stuff, okay? it's giving "responsible queen" energy π
and that's the whole page!! this one's from 3.5.0, dated 2026-09-25, and it's the I2D_PKCS7_BIO_STREAM(3ossl) page π mwah, go stream some BER β¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms