php8.5
Home/ Manual/ openssl / functions/ openssl_cms_encrypt

openssl_cms_encrypt

PHP function Edit on GitHub ✎

(PHP 8)

Encrypt a CMS message

Description

openssl_cms_encrypt(string $input_filename, string $output_filename, OpenSSLCertificate|array|string $certificate, array|null $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, string|int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC): bool

This function encrypts content to one or more recipients, based on the certificates that are passed to it.

Parameters

input_filename

The file to be encrypted.

output_filename

The output file.

certificate

Recipients to encrypt to.

headers

Headers to include when S/MIME is used.

flags

Flags to be passed to CMS_sign.

encoding

An encoding to output. One of OPENSSL_ENCODING_SMIME, OPENSSL_ENCODING_DER or OPENSSL_ENCODING_PEM.

cipher_algo

A cipher to use.

Return Values

Success

Changelog

VersionDescription
8.5.0cipher_algo is now of type int or string. Previously, it was of type int.
8.1.0The default cipher algorithm (cipher_algo) is now AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously, PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).

Source: reference/openssl/functions/openssl-cms-encrypt.xml · from the official PHP manual (php/doc-en)