Phar::setSignatureAlgorithm
(PECL phar:1.1.0-1.2.1)
Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.
Description
Note: This
method requires the php.ini setting phar.readonly to be
set to 0 in order to work for Phar
objects. Otherwise, a PharException will be thrown.
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 phar-based and tar-based phar archives have a signature created
automatically, SHA1 by default. data tar-based archives
(archives created with the PharData class) must have
their signature created and set explicitly via
Phar::setSignatureAlgorithm().
Parameters
-
sigtype
-
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:
$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.
Errors/Exceptions
Throws UnexpectedValueException for many errors,
BadMethodCallException if called for a zip-based phar
archive, and a PharException
if any problems occur flushing changes to disk.