Phar::setSignatureAlgorithm

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

Phar::setSignatureAlgorithm β€” Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ подписания phar-Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ

ОписаниС

public function Phar::setSignatureAlgorithm(int $algo, ?string $privateKey = null): void

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Phar потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ phar.readonly Π² Ρ„Π°ΠΉΠ»Π΅ php.ini Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 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);
?>
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² phar.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния послС выполнСния.

Ошибки

ВыбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ UnexpectedValueException ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, ΠΊΡ€ΠΎΠΌΠ΅ ошибок записи Π½Π° диск. ΠŸΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… записи Π½Π° диск выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PharException.

Бписок измСнСний

ВСрсия ОписаниС
8.0.0 privateKey Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ допускаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • Phar::getSupportedSignatures() - ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ массив ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² подписи Π°Ρ€Ρ…ΠΈΠ²Π°
  • Phar::getSignature() - ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ MD5/SHA1/SHA256/SHA512/OpenSSL подпись Phar-Π°Ρ€Ρ…ΠΈΠ²Π°
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы