PHP 8.5.0 Alpha 2 available for testing

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_verifyVerifica la firma de un mensaje S/MIME

Descripción

openssl_pkcs7_verify(
    string $input_filename,
    int $flags,
    ?string $signers_certificates_filename = null,
    array $ca_info = [],
    ?string $untrusted_certificates_filename = null,
    ?string $content = null,
    ?string $output_filename = null
): bool|int

openssl_pkcs7_verify() lee el mensaje S/MIME contenido en el fichero filename y examina la firma digital.

Parámetros

input_filename

Ruta hacia el mensaje.

flags

flags sirve para modificar la forma en que se verifica la firma. Consulte las constantes PKCS7. Por omisión, el valor es: PKCS7_DETACHED.

signers_certificates_filename

Si el parámetro signers_certificates_filename es especificado, debe ser una cadena que contenga el nombre de un fichero que contiene el certificado del firmante, en formato PEM.

ca_info

Si el parámetro ca_info es especificado, debe contener la información sobre los certificados de confianza de terceros utilizados durante la verificación. Consulte verificación de certificados para más detalles.

untrusted_certificates_filename

Si el parámetro untrusted_certificates_filename es especificado, debe representar el nombre de un fichero que contiene un conjunto de certificados utilizados como certificados de poca confianza.

content

Puede especificarse un nombre de fichero con el parámetro content que puede ser rellenado con los datos verificados, pero sin las informaciones de firma.

output_filename

Valores devueltos

Devuelve true si la firma es verificada, y false en caso contrario (el mensaje ha sido modificado, o bien el certificado de firma es inválido) o -1 si ocurre un error.

Historial de cambios

Versión Descripción
8.0.0 signers_certificates_filename, untrusted_certificates_filename, content y output_filename ahora son nullable.
7.2.0 Se ha añadido el parámetro output_filename.

Notas

Nota: Tal como se especifica en la RFC 2045, las líneas no deben ser más largas que 76 caracteres en el parámetro input_filename.

add a note

User Contributed Notes 1 note

up
9
reg1barclay at REMOVETHIS dot live dot it
6 years ago
To verify a .p7m file with openssl_pkcs7_verify() you must convert it to S/MIME format. For example...
<?php
function der2smime($file)
{
$to=<<<TXT
MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m"
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m"
Content-Transfer-Encoding: base64
\n
TXT;
$from=file_get_contents($file);
$to.=chunk_split(base64_encode($from));
return
file_put_contents($file,$to);
}
?>
To Top