openssl_pkcs7_decrypt

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

openssl_pkcs7_decryptРасшифровывает сообщение, зашифрованное S/MIME

Описание

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

Функция расшифровывает сообщение, которое зашифровали сертификатом S/MIME, который содержится в файле input_filename, сертификатом certificate и закрытым ключом private_key, который соответствует закрытому сертификату.

Список параметров

input_filename

output_filename

Расшифрованное сообщение функция запишет в файл output_filename.

certificate

private_key

Возвращаемые значения

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509 CSR.

Примеры

Пример #1 Пример использования функции openssl_pkcs7_decrypt()

<?php

// Переменные сертификата $cert и ключа $key содержат пару с личным сертификатом и закрытым ключом
$infilename = "encrypted.msg"; // В этом файле зашифрованное сообщение
$outfilename = "decrypted.msg"; // Убедитесь, что есть права на запись

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
echo
"Расшифровано!";
} else {
echo
"Возникла ошибка при расшифровке!";
}

?>