CakeFest 2024: The Official CakePHP Conference

PharData::setSignatureAlgorithm

(No version information available, might only be in Git)

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

Описание

public PharData::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. (pgp пока не поддерживается, вместо него используется SHA-1).

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

algo

Одна из констант: Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512 или Phar::OPENSSL

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

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

Ошибки

Выбрасывает исключение UnexpectedValueException для большинства ошибок. Для архивов на основе zip или tar выбрасывает исключение BadMethodCallException. При ошибках записи на диск выбрасывает исключение PharException.

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

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

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

add a note

User Contributed Notes 1 note

up
3
obsidian[at-nospam]codebite[dot]net
12 years ago
As a note, the docs don't show the (optional) second parameter nor mention the existence of the Phar::OPENSSL class constant also available for use with this method.

To sign a phar with OpenSSL, for example...

<?php

$phar
= new Phar('somephar.phar');
// ... add your files and such
$phar->setSignatureAlgorithm(Phar::OPENSSL, file_get_contents('private_key_here.pem'));
// ... do whatever else you want afterwards here ...
?>

Hope this proves useful to someone.
To Top