Phar::setSignatureAlgorithm
(PHP >= 5.3.0, PECL phar >= 1.1.0)
Phar::setSignatureAlgorithm — set the signature algorithm for a phar and apply it. The
Description
$sigtype
)Note:
This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.
set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::PGP (pgp not yet supported and falls back to SHA-1).
Parameters
-
sigtype
-
One of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::PGP
Return Values
No value is returned.
Errors/Exceptions
Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip- or a tar-based phar archive, and a PharException if any problems occur flushing changes to disk.
See Also
- Phar::getSupportedSignatures() - Return array of supported signature types
- Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для сжатия и архивации
- Phar
- Функция PharData::addEmptyDir() - Add an empty directory to the tar/zip archive
- Функция PharData::addFile() - Add a file from the filesystem to the tar/zip archive
- Функция PharData::addFromString() - Add a file from the filesystem to the tar/zip archive
- Функция PharData::buildFromDirectory() - Construct a tar/zip archive from the files within a directory.
- Функция PharData::buildFromIterator() - Construct a tar or zip archive from an iterator.
- Функция PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
- Функция PharData::compressFiles() - Compresses all files in the current tar/zip archive
- Функция PharData::__construct() - Construct a non-executable tar or zip archive object
- Функция PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file
- Функция PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
- Функция PharData::copy() - Copy a file internal to the phar archive to another new file within the phar
- Функция PharData::decompress() - Decompresses the entire Phar archive
- Функция PharData::decompressFiles() - Decompresses all files in the current zip archive
- Функция PharData::delMetadata() - Deletes the global metadata of a zip archive
- Функция PharData::delete() - Delete a file within a tar/zip archive
- Функция PharData::extractTo() - Extract the contents of a tar/zip archive to a directory
- Функция PharData::isWritable() - Returns true if the tar/zip archive can be modified
- Функция PharData::offsetSet() - set the contents of a file within the tar/zip to those of an external file or string
- Функция PharData::offsetUnset() - remove a file from a tar/zip archive
- Функция PharData::setAlias() - dummy function (Phar::setAlias is not valid for PharData)
- Функция PharData::setDefaultStub() - dummy function (Phar::setDefaultStub is not valid for PharData)
- Функция Phar::setMetadata() - Sets phar archive meta-data
- Функция Phar::setSignatureAlgorithm() - set the signature algorithm for a phar and apply it. The
- Функция PharData::setStub() - dummy function (Phar::setStub is not valid for PharData)
Коментарии
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.