# PharData::setSignatureAlgorithm

(No version information available, might only be in Git)

PharData::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique

### Description

public PharData::setSignatureAlgorithm(int `$algo`, ?string `$privateKey` = `null`): void

> Note:

> Cette méthode nécessite que la variable de configuration INI `phar.readonly` soit définie à `0` pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Assigne l'algorithme de signature d'un phar et l'applique. L'algorithme de signature doit être `Phar::MD5`, `Phar::SHA1`, `Phar::SHA256`, `Phar::SHA512`, ou `Phar::OPENSSL`.

### Liste de paramètres

`algo`

  Un algorithme parmi `Phar::MD5`, `Phar::SHA1`, `Phar::SHA256`, `Phar::SHA512`, ou `Phar::OPENSSL`.

`privateKey`

  Le contenue d'une clé privée OpenSSL, comme extraite depuis un certificat ou un fichier de clé OpenSSL :

  `<?php
  $private = openssl_get_privatekey(file_get_contents('private.pem'));
  $pkey = '';
  openssl_pkey_export($private, $pkey);
  $p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
  ?>`
  Voir l'introduction Phar pour des consignes de nommage et de placement de fichier de clé publique.

### Valeurs de retour

Aucune valeur n'est retournée.

### Erreurs / Exceptions

Soulève une exception UnexpectedValueException pour beaucoup d'erreurs, une exception BadMethodCallException si l'appel est fait pour une archive phar basée sur tar ou sur zip, une exception PharException si des problèmes sont rencontrés lors de l'écriture des changements sur le disque.

### Historique

Version | Description
--- | ---
8.0.0 | `privateKey` est désormais nullable.

### Voir aussi

- Phar::getSupportedSignatures() - Retourne un tableau des types de signature supportés
- Phar::getSignature() - Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar