(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 現在可以為 null。 |