Las funciones CMS utilizan banderas que se especifican utilizando una máscara de bits que incluye una o más de las siguientes opciones:
Constantes | Descripción |
---|---|
OPENSSL_CMS_TEXT
(int)
|
Añade el encabezado content type text/plain al mensaje cifrado/firmado.
Al descifrar/verificar, estos encabezados se eliminan de la
salida, si el mensaje descifrado o verificado no es del tipo MIME
text/plain entonces se producirá un error.
|
OPENSSL_CMS_BINARY
(int)
|
Normalmente el mensaje de entrada se convierte a su forma "canónica"
que en realidad utiliza CR y LF
como fin de línea: tal como se requiere por la especificación CMS. Cuando
esta opción está presente, ninguna traducción se realiza. Esto es útil al manejar datos binarios que pueden no estar en formato CMS.
|
OPENSSL_CMS_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 utilizan los certificados especificados en
el argumento untrusted_certificates_filename
de openssl_cms_verify().
Los certificados proporcionados pueden seguir utilizándose como
autoridades de certificación no fiables.
|
OPENSSL_CMS_NOVERIFY
(int)
|
No verifica el certificado del firmante de un mensaje firmado. |
OPENSSL_CMS_NOCERTS
(int)
|
Al firmar un mensaje el certificado del firmante se
incluye normalmente, 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 disponible localmente (pasado utilizando
untrusted_certificates_filename de
openssl_cms_verify() por ejemplo).
|
OPENSSL_CMS_NOATTR
(int)
|
Normalmente cuando un mensaje es firmado, se incluyen un conjunto de atributos que incluyen la hora de firma y los algoritmos simétricos soportados. Con esta opción no se incluyen. |
OPENSSL_CMS_DETACHED
(int)
|
Al firmar un mensaje, se utiliza la firma en texto claro
con el tipo MIME "multipart/signed" . Este es el
comportamiento por defecto, si no se especifica ningún
flags a openssl_cms_sign().
Si se desactiva esta opción, el mensaje se firmará utilizando
una firma opaca, que es más resistente a la traducción por
los relés de correo pero no puede ser leída por los agentes de correo que no
soportan S/MIME.
|
OPENSSL_CMS_NOSIGS
(int)
|
No intenta verificar las firmas de un mensaje |
OPENSSL_CMS_OLDMIMETYPE
(int)
|
Disponible a partir de PHP 8.3.0.
Establece el encabezado HTTP Content-Type en application/x-pkcs7-mime en lugar de
application/pkcs7-mime para cifrar un mensaje.
|