(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)
Phar::setSignatureAlgorithm — phar のシグネチャのアルゴリズムを設定して適用する
注意:
このメソッドは、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()
で明示的にシグネチャを作成して設定する必要があります。
algo
Phar::MD5、
Phar::SHA1、Phar::SHA256、
Phar::SHA512 あるいは Phar::OPENSSL
のいずれか。
privateKeyOpenSSL 秘密鍵の中身。証明書あるいは OpenSSL 鍵ファイルから取り出したもの。
<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>値を返しません。
さまざまなエラーが発生した場合に UnexpectedValueException をスローします。 変更内容をディスクに書き込むときにエラーが発生した場合は PharException をスローします。
| バージョン | 説明 |
|---|---|
| 8.0.0 |
privateKey は、nullable になりました。
|