Documentación offline PHP master

openssl_cms_sign

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

openssl_cms_sign

Firma un fichero

Descripción#

#[\SensitiveParameter] openssl_cms_sign(string $input_filename, string $output_filename, OpenSSLCertificate $certificate, OpenSSLAsymmetricKey $private_key, array $headers, [int $flags], [int $encoding], [string $untrusted_certificates_filename]): bool
```php

Esta función firma un fichero con un certificado X.509 y una clave.

## Parámetros

`input_filename`  
El nombre del fichero a firmar.

`output_filename`  
El nombre del fichero para depositar los resultados.

`certificate`  
El certificado de firma. Véase [Parámetros de clave/certificado](#openssl.certparams) para una lista de valores válidos.

`private_key`  
La clave asociada al `certificate`. Véase [Parámetros de clave/certificado](#openssl.certparams) para una lista de valores válidos.

`headers`  
Un array de encabezados a incluir en la salida S/MIME.

`flags`  
Los flag a pasar a `cms_sign`.

`encoding`  
La codificación del fichero de salida. Una de las constantes `OPENSSL_ENCODING_SMIME`, `OPENSSL_ENCODING_DER` o `OPENSSL_ENCODING_PEM`.

`untrusted_certificates_filename`  
Los certificados intermedios a incluir en la firma.

## Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

## Ejemplos

Ejemplo de `openssl_cms_sign`

```php