## Banderas/Constantes PKCS7

Las funciones S/MIME hacen uso de banderas que están especificadas utilizando un campo de bit que puede incluir uno o más de los siguientes valores:

CONSTANTES PKCS7
Constante | Descripción
--- | ---
`PKCS7_TEXT` | Añade cabeceras de tipo de contenido texto/plano al mensaje encriptado/firmado. Si se desencripta o verifica, se desmontan esas cabeceras de la salida - si el mensaje desencriptado o verificado no es del tipo MIME texto/plano ocurrirá un error.
`PKCS7_BINARY` | Normalmente el mensaje de entrada es convertido a formato "canónico" en el que de hecho se usa `CR` y `LF` como final de línea: como se require por la especificación S/MIME. Cuando esta opción está presente, no se realiza ninguna traducción. Ésto es útil cuando se maneja información binaria que puede no estar en formato MIME.
`PKCS7_NOINTERN` | Cuando se verifica un mensaje, los certificados (si hay alguno) incluidos en el mensaje son buscados normalmente por el certificado de firma. Con esta opción sólo los certificados especificados el el parámetro `extracerts` de openssl_pkcs7_verify() se usan. Sin embargo, los certificados proporcionados pueden aún ser usados como AC que no son de confianza.
`PKCS7_NOVERIFY` | No verificar los certificados de firmas de un mensaje firmado.
`PKCS7_NOCHAIN` | No encadenar la verificación de certificados de firmas: es decir, no usar los certificados en el mensaje firmado como AC que no es de confianza.
`PKCS7_NOCERTS` | Cuando se firma un mensaje, el certificado del firmante normalmente está incluido - con esta opción se excluye. Esto reducirá el tamaño del mensaje firmado pero el verificador debe tener una copia del certificado del firmante que esté disponible localmente (usando al pasar `extracerts` a openssl_pkcs7_verify() por ejemplo).
`PKCS7_NOATTR` | Normalmente cuando un mensaje está firmado se incluyen un conjunto de atributos como el momento de la firma y los algoritmos simétricos soportados. Con esta opción todos éstos no se incluyen.
`PKCS7_DETACHED` | Cuando se firma un mensaje, se usa la firma de texto claro con el tipo MIME `"multiparte/firmado"`. Esto es lo predeterminado si no se especifican algunos `flags` a openssl_pkcs7_sign(). Si se desactiva esta opción, el mensaje será firmado usando la firma opaca, que es más resistente a traducciones por transmisiones de correo, pero no puede ser leída por agentes de correo que no soporten S/MIME.
`PKCS7_NOSIGS` | No poner a prueba y verificar las firmas de un mensaje

> Nota:

> Estas constantes fueron añadidas en la versión 4.0.6.