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

参见

添加笔记

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top