(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 现在可以为空。 |