openssl_pkcs7_decrypt

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

openssl_pkcs7_decryptDescifra un mensaje S/MIME

Descripción

openssl_pkcs7_decrypt(
    string $input_filename,
    string $output_filename,
    #[\SensitiveParameter] OpenSSLCertificate|string $certificate,
    #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key = null
): bool

Descifra el mensaje S/MIME contenido en el fichero input_filename, utilizando el certificado y la clave privada asociados por certificate y private_key.

Parámetros

input_filename

output_filename

El mensaje descifrado se escribe en el fichero especificado por este argumento.

certificate

private_key

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
8.0.0 private_key acepta ahora una instancia de OpenSSLAsymmetricKey o OpenSSLCertificate; anteriormente, se aceptaba un recurso de tipo OpenSSL key o OpenSSL X.509 CSR.

Ejemplos

Ejemplo #1 Ejemplo con openssl_pkcs7_decrypt()

<?php
// $cert y $key contienen sus certificados y claves privadas
// Se asume que el mensaje está dirigido a usted
$infilename = "encrypted.msg"; // este fichero contiene su mensaje cifrado
$outfilename = "decrypted.msg"; // asegúrese de poder escribir en este fichero

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
echo
"descifrado !";
} else {
echo
"Error al descifrar !";
}
?>