Phar::setMetadata
Phar::setStub
Phar
PHP Manual

# Phar::setSignatureAlgorithm

(PHP >= 5.3.0, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — phar のシグネチャのアルゴリズムを設定して適用する

### 説明

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

> 注意: このメソッドは、php.ini の phar.readonly が 0 でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。

phar のシグネチャのアルゴリズムを設定します。 シグネチャのアルゴリズムは Phar::MD5、 Phar::SHA1、Phar::SHA256、 Phar::SHA512 あるいは Phar::OPENSSL のいずれかでなければなりません。

実行可能な phar アーカイブについては、 SHA1 形式のシグネチャが デフォルトで自動的に作成されることに注意しましょう。 データ tar 形式あるいは zip 形式のアーカイブ (PharData クラスで作成したアーカイブ) の場合は、 Phar::setSignatureAlgorithm() で明示的にシグネチャを作成して設定する必要があります。

### パラメータ

`sigtype`

  Phar::MD5、 Phar::SHA1、Phar::SHA256、 Phar::SHA512 あるいは Phar::OPENSSL のいずれか。

`privatekey`

  OpenSSL 秘密鍵の中身。証明書あるいは OpenSSL 鍵ファイルから取り出したもの。

  `<?php
  $private = openssl_get_privatekey(file_get_contents('private.pem'));
  $pkey = '';
  openssl_pkey_export($private, $pkey);
  $p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
  ?>`
  公開鍵ファイルの名前や置き場所については phar の導入 を参照ください。

### 返り値

値を返しません。

### エラー / 例外

さまざまなエラーが発生した場合に UnexpectedValueException をスローします。 変更内容をディスクに書き込むときにエラーが発生した場合は PharException をスローします。

### 参考

- Phar::getSupportedSignatures() - サポートするシグネチャ型の配列を返す
- Phar::getSignature() - Phar アーカイブの MD5/SHA1/SHA256/SHA512/OpenSSL シグネチャを返す

Phar::setMetadata
Phar::setStub
Phar
PHP Manual