(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.1.0)
Phar::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение его
Замечание:
Для корректной работы с объектами 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() подпись.
sigtype
Одна из констант: 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.