Phar::setSignatureAlgorithm

Set the signature algorithm for a phar and apply it

&reftitle.description; public `void` `Phar::setSignatureAlgorithm` `int` `algo` ``string``null```privateKey`&null; &phar.write;

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

&reftitle.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.
&reftitle.returnvalues;

&return.void;

&reftitle.errors;

Throws `UnexpectedValueException` for many errors, and a `PharException` if any problems occur flushing changes to disk.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `privateKey` is now nullable.

&reftitle.seealso;

- `Phar::getSupportedSignatures`
- `Phar::getSignature`