Phar::setSignatureAlgorithm
Set the signature algorithm for a phar and apply it
Description
public void Phar::setSignatureAlgorithm(int $algo, stringnull $privateKey = null)
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 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
$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
No value is returned.
Errors/Exceptions
Throws UnexpectedValueException for many errors,
and a PharException
if any problems occur flushing changes to disk.
See Also
- Phar::getSupportedSignatures
- Phar::getSignature