PHP 8.3.4 Released!

Phar::setSignatureAlgorithm

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithmУстановить алгоритм подписания phar-архива и применение его

Описание

public Phar::setSignatureAlgorithm(int $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);
?>
Подробности об именовании и размещении файла открытого ключа смотрите в разделе Введение в phar.

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

Функция не возвращает значения после выполнения.

Ошибки

Выбрасывает исключение UnexpectedValueException при любых ошибках, кроме ошибок записи на диск. При ошибках записи на диск выбрасывает исключение PharException.

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

Версия Описание
8.0.0 privateKey теперь допускает значение null.

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top