---
name: "libressl-PEM_write_bio_CMS_stream"
section: "3"
platform: "linux"
package: "libressl"
version: "4.4.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libressl-PEM_write_bio_CMS_stream"
---

# libressl-PEM\_write\_bio\_CMS\_stream(3)

output CMS\_ContentInfo structure in PEM format

## NAME

**PEM\_write\_bio\_CMS\_stream** – output CMS\_ContentInfo structure in PEM format

## SYNOPSIS

Crypto Library (libcrypto, -lcrypto)

**#include \<openssl/cms.h\>**

*int*\

**PEM\_write\_bio\_CMS\_stream**(*BIO \*out*, *CMS\_ContentInfo \*cms*, *BIO \*data*, *int flags*);

## DESCRIPTION

**PEM\_write\_bio\_CMS\_stream**() outputs a *CMS\_ContentInfo* structure in PEM format.

It is otherwise identical to the function SMIME\_write\_CMS(3).

This function is effectively a version of PEM\_write\_bio\_CMS(3) supporting streaming.

## RETURN VALUES

**PEM\_write\_bio\_CMS\_stream**() returns 1 for success or 0 for failure.

## SEE ALSO

CMS\_ContentInfo\_new(3), CMS\_decrypt(3), CMS\_encrypt(3), CMS\_sign(3), CMS\_verify(3), ERR\_get\_error(3), i2d\_CMS\_bio\_stream(3), PEM\_write(3), SMIME\_write\_CMS(3)

## HISTORY

**PEM\_write\_bio\_CMS\_stream**() first appeared in OpenSSL 1.0.0 and has been available since OpenBSD 6.7.
