I2D_CMS_BIO_STREAM(3)

πŸ“¦ version 4.4.0, in alpine 3.24, arch rolling

πŸŽ€ i2d_CMS_bio_stream πŸŽ€

okay so bestie, this is the i2d_CMS_bio_stream page from the libcrypto Library Functions Manual β€” yes, that one. Let’s get into it πŸ’….


✨ NAME ✨

i2d_CMS_bio_stream β€” output CMS_ContentInfo structure in BER format.


πŸ¦‹ SYNOPSIS πŸ¦‹

library β€œlibcrypto” #include <openssl/cms.h>

int
i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *data,
    int flags);

🌸 DESCRIPTION 🌸

i2d_CMS_bio_stream() outputs a CMS_ContentInfo structure in BER format. That’s the whole main character move.

Other than that, it is literally identical to the function SMIME_write_CMS(3). No cap.

Think of it as a version of i2d_CMS_bio(3) that supports streaming β€” it’s giving the same energy, just with stream support in the mix ✨.


πŸ’– RETURN VALUES πŸ’–

i2d_CMS_bio_stream() returns 1 for success or 0 for failure. That’s it, bestie β€” success slay or failure era, no in-between 🫢.


⭐ SEE ALSO ⭐


🧚 HISTORY 🧚

i2d_CMS_bio_stream() first appeared in OpenSSL 1.0.0 and has been available since OpenBSD 6.7. It’s been around, okay πŸ’….


πŸ’€ BUGS πŸ’€

The prefix "i2d" is arguably wrong because the function outputs BER format.

Not me pointing out the naming situation, but here we are πŸ™ˆ.


πŸ’– this page is from Debian, dated June 8, 2025 β€” byeee bestie πŸ’…

πŸ“¦ where this page comes from