Phar::setSignatureAlgorithm

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)

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

説明

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

注意:

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

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

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

パラメータ

algo

Phar::MD5Phar::SHA1Phar::SHA256Phar::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 をスローします。

変更履歴

バージョン 説明
8.0.0 privateKey は、nullable になりました。

参考

関連キーワード:  Phar, phar, 設定, アルゴリズム, 適用, setSignatureAlgorithm, アーカイブ, スロー, エラー, 形式