Phar::setSignatureAlgorithm
(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
のいずれか。 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 になりました。
|
参考
- Phar::getSupportedSignatures() - サポートするシグネチャ型の配列を返す
- Phar::getSignature() - Phar アーカイブの MD5/SHA1/SHA256/SHA512/OpenSSL シグネチャを返す