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

# openssl_pkcs7_decrypt

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

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

### Описание

function 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 "Возникла ошибка при расшифровке!";
    }

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open