## Constantes/opciones PKCS7

Las funciones S/MIME utilizan opciones que se especifican mediante un campo de bits. Los valores válidos son:

Constantes PKCS7
Constante | Descripción
--- | ---
`PKCS7_TEXT` (int) | Añade el texto en claro en los encabezados del mensaje firmado/cifrado. Al descifrar o verificar, se eliminan simplemente estos datos. Si el mensaje cifrado o firmado no es del tipo MIME, se producirá un error.
`PKCS7_BINARY` (int) | Normalmente, el mensaje se convierte al formato canónico que utiliza efectivamente `CR` y `LF` como fin de línea, como se solicita en las especificaciones de S/MIME. Cuando esta opción está activada, el mensaje no se convertirá. Esto es útil cuando se manipulan datos binarios que no están en formato MIME.
`PKCS7_NOINTERN` (int) | Al verificar un mensaje, los certificados (si los hay) incluidos en el mensaje se utilizan normalmente para buscar el certificado de firma. Con esta opción, solo se utiliza el certificado especificado por el argumento `untrusted_certificates_filename` de la función openssl_pkcs7_verify(). Los certificados proporcionados pueden seguir utilizándose, con un nivel de confianza reducido.
`PKCS7_NOVERIFY` (int) | No verifica los certificados de los firmantes de un mensaje firmado.
`PKCS7_NOCHAIN` (int) | No encadena las verificaciones de los certificados de los firmantes. Es decir, no utiliza los certificados contenidos en el mensaje.
`PKCS7_NOCERTS` (int) | Al firmar un mensaje, el certificado del firmante se incluye normalmente. Con esta opción, esto se desactiva. Esto reducirá el tamaño del mensaje, pero el verificador deberá tener una copia local del certificado del firmante (pasado al argumento `untrusted_certificates_filename`, con la función openssl_pkcs7_verify()).
`PKCS7_NOATTR` (int) | Normalmente, cuando se firma un mensaje, se incluye un conjunto de atributos que contiene la hora de firma y el algoritmo simétrico soportado, en el mensaje. Con esta opción, no se incluye.
`PKCS7_DETACHED` (int) | Al firmar un mensaje, se utiliza la firma en texto claro, con el tipo MIME `"multipart/signed"`. Este es el valor por defecto del argumento `flags` para la función openssl_pkcs7_sign(). Si se anula esta opción, el mensaje se firmará de manera opaca, lo que resiste mejor a la traducción de los relés de correo (algunos antiguos servidores de correo corrompen los mensajes), pero impide la lectura por los clientes de correo que no conocen S/MIME.
`PKCS7_NOSIGS` (int) | No verifica las firmas de un mensaje
`PKCS7_NOOLDMIMETYPE` (int) | Disponible a partir de PHP 8.3.0. Establece el encabezado HTTP Content-Type en `application/pkcs7-mime` en lugar de `application/x-pkcs7-mime` para cifrar un mensaje.
`PKCS7_NOSMIMECAP` (int) | Disponible a partir de PHP 8.5.0. No incluye las capacidades S/MIME (SMIMECapabilities) en la firma.
`PKCS7_CRLFEOL` (int) | Disponible a partir de PHP 8.5.0. Utiliza `CRLF` como fin de línea en la salida.
`PKCS7_NOCRL` (int) | Disponible a partir de PHP 8.5.0. No incluye las CRL en la estructura PKCS7.
`PKCS7_NO_DUAL_CONTENT` (int) | Disponible a partir de PHP 8.5.0. No incluye el contenido duplicado, evitando la duplicación del contenido firmado.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open