PHP 7.4.0RC4 Released!

Phar::setSignatureAlgorithm

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

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

Описание

public Phar::setSignatureAlgorithm ( int $sigtype ) : void

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

Устанавливает алгоритм подписания phar-архива и применяет его. Доступны следующие алгоритмы подписания: Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512 и Phar::PGP. (pgp пока не поддерживается, вместо него используется SHA-1).

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

sigtype

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

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

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

Ошибки

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

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

add a note add a note

User Contributed Notes 1 note

up
3
obsidian[at-nospam]codebite[dot]net
8 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