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