PHP 7.4.0RC4 Released!

Phar::setSignatureAlgorithm

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

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

説明

public Phar::setSignatureAlgorithm ( int $sigtype ) : void

注意:

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

phar のシグネチャのアルゴリズムを設定します。 シグネチャのアルゴリズムは Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512 あるいは Phar::PGP のいずれかでなければなりません (pgp は現時点ではまだサポートされておらず、自動的に SHA-1 に読みかえられます)。

パラメータ

sigtype

Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512 あるいは Phar::PGP のいずれか。

返り値

値を返しません。

エラー / 例外

さまざまなエラーが発生した場合に UnexpectedValueException をスローします。 zip 形式や tar 形式の phar アーカイブに対してコールした場合は BadMethodCallException をスローします。 変更内容をディスクに書き込むときにエラーが発生した場合は PharException をスローします。

参考

add a note add a note

User Contributed Notes 1 note

up
3
obsidian[at-nospam]codebite[dot]net
8 years ago
As a note, the docs don't show the (optional) second parameter nor mention the existence of the Phar::OPENSSL class constant also available for use with this method.

To sign a phar with OpenSSL, for example...

<?php

$phar
= new Phar('somephar.phar');
// ... add your files and such
$phar->setSignatureAlgorithm(Phar::OPENSSL, file_get_contents('private_key_here.pem'));
// ... do whatever else you want afterwards here ...
?>

Hope this proves useful to someone.
To Top