php8.5
Home/ Manual/ phar / Phar/ Phar::setSignatureAlgorithm

Phar::setSignatureAlgorithm

PHP function Edit on GitHub ✎

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

Set the signature algorithm for a phar and apply it

Description

Phar::setSignatureAlgorithm(int $algo, string|null $privateKey = null): void

Write

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Note that all executable phar archives have a signature created automatically, SHA1 by default. data tar- or zip-based archives (archives created with the PharData class) must have their signature created and set explicitly via Phar::setSignatureAlgorithm().

Parameters

algo

One of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL

privateKey

The contents of an OpenSSL private key, as extracted from a certificate or OpenSSL key file:

php
<?php
$p = new Phar('archive.phar');
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
        

See phar introduction for instructions on naming and placement of the public key file.

Return Values

Void

Errors/Exceptions

Throws UnexpectedValueException for many errors, and a PharException if any problems occur flushing changes to disk.

Changelog

VersionDescription
8.0.0privateKey is now nullable.

See Also

Source: reference/phar/Phar/setSignatureAlgorithm.xml · from the official PHP manual (php/doc-en)