Phar::setSignatureAlgorithm

set the signature algorithm for a phar and apply it.

Description

public void Phar::setSignatureAlgorithm ( int $sigtype [, string $privatekey ] )

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

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:

<?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