Las funciones S/MIME utilizan opciones que se especifican mediante un campo de bits. Los valores válidos son:
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.
|