(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)
Phar::setSignatureAlgorithm — phar のシグネチャのアルゴリズムを設定して適用する
$algo
, ?string $privateKey
= null
): void注意:
このメソッドは、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
のいずれか。
privateKey
OpenSSL 秘密鍵の中身。証明書あるいは 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 になりました。
|