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

메모: 이 메소드는 Phar 객체에 대해 작동하기 위해 php.ini 설정 phar.readonly0으로 설정해야 합니다. 그렇지 않으면 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을 허용합니다.

기타