PHP Conference Japan 2024

Phar::setSignatureAlgorithm

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

Phar::setSignatureAlgorithm設定 phar 的簽章演算法並套用

說明

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

注意事項:

此方法要求 php.ini 設定 phar.readonly 設為 0 才能作用於 Phar 物件。否則,將會拋出 PharException 例外。

設定 phar 的簽章演算法並應用它。簽章演算法必須是 Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512Phar::OPENSSL 之一。

請注意,所有可執行的 phar 封存都會自動建立簽章,預設為 SHA1。基於 tar 或 zip 的資料封存(使用 PharData 類別建立的封存)必須透過 Phar::setSignatureAlgorithm() 明確建立和設定其簽章。

參數

algo

Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512Phar::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 現在可以為 null。

參見

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top