(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)
Phar::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение его
$algo
, ?string $privateKey
= null
): voidЗамечание:
Для корректной работы с объектами Phar этому методу необходима установка значения php.ini
phar.readonly
в0
. В противном случае, будет выброшено исключение PharException.
Устанавливает алгоритм подписания phar-архива и применяет его.
Доступны следующие алгоритмы подписания: Phar::MD5
,
Phar::SHA1
, Phar::SHA256
,
Phar::SHA512
и Phar::OPENSSL
.
Обратите внимание, что для всех исполняемых phar-архивов подпись создаётся
автоматически, с использованием по умолчанию SHA1
.
Архивы с данными на основе tar или zip
(созданные с помощью класса PharData) должны иметь
явно созданную с помощью Phar::setSignatureAlgorithm() подпись.
algo
Одна из констант: Phar::MD5
,
Phar::SHA1
, Phar::SHA256
,
Phar::SHA512
или Phar::OPENSSL
privateKey
Секретный ключ OpenSSL, извлечённый из сертификата, либо файл с ключом OpenSSL:
<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
Функция не возвращает значения после выполнения.
Выбрасывает исключение UnexpectedValueException при любых ошибках, кроме ошибок записи на диск. При ошибках записи на диск выбрасывает исключение PharException.
Версия | Описание |
---|---|
8.0.0 |
privateKey теперь допускает значение null.
|