Phar::setMetadata
Phar::setStub
Phar
PHP Manual

# Phar::setSignatureAlgorithm

(PECL phar:1.1.0-1.2.1)

Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it.

### Description

array 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 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.

### Return Values

### 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.

### See Also

- Phar::getSupportedSignatures()
- Phar::getSignature()

Phar::setMetadata
Phar::setStub
Phar
PHP Manual