openssl_pkcs7_encrypt
En esta página
openssl_pkcs7_encrypt
Cifra un mensaje S/MIME
Descripción#
openssl_pkcs7_encrypt(string $input_filename, string $output_filename, OpenSSLCertificate $certificate, array $headers, [int $flags], [int $cipher_algo]): bool
```php
`openssl_pkcs7_encrypt` toma el contenido del fichero `input_filename` y lo cifra utilizando un cifrado RC2 de 40 bits, de manera que el mensaje solo pueda ser leído por el poseedor de `certificate`.
## Parámetros
`input_filename`
`output_filename`
`certificate`
Puede ser un certificado X.509 o un array de certificados X.509.
`headers`
`headers` es un array de encabezados que serán añadidos al inicio del mensaje, una vez que los datos hayan sido cifrados.
`headers` puede ser un array asociativo, donde las claves son los nombres de los encabezados, o bien un array indexado donde cada línea contiene un encabezado completo.
`flags`
`flags` puede ser utilizado para especificar opciones que afectarán al cifrado (ver las [constantes PKCS7](#openssl.pkcs7.flags)).
`cipher_algo`
Una de las [constantes cipher](#openssl.ciphers).
## Valores devueltos
Esta función retorna `true` en caso de éxito o `false` si ocurre un error.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.1.0 | El algoritmo de cifrado por omisión (`cipher_algo`) es ahora AES-128-CBC (`OPENSSL_CIPHER_AES_128_CBC`). Anteriormente, se utilizaba PKCS7/CMS (`OPENSSL_CIPHER_RC2_40`). |
| 8.0.0 | `certificate` acepta ahora una instancia de `OpenSSLCertificate`; anteriormente, se aceptaba un `resource` de tipo `OpenSSL X.509 CSR`. |
## Ejemplos
Ejemplo con `openssl_pkcs7_encrypt`
```php