22Phar::setSupportedSignatures() with hash, tar-based
33--EXTENSIONS--
44phar
5+ openssl
56--SKIPIF--
67<?php
78$ arr = Phar::getSupportedSignatures ();
@@ -15,86 +16,109 @@ phar.readonly=0
1516$ fname = __DIR__ . '/ ' . basename (__FILE__ , '.php ' ) . '.phar.tar ' ;
1617$ p = new Phar ($ fname );
1718$ p ['file1.txt ' ] = 'hi ' ;
19+
20+ echo "Default: \n" ;
1821var_dump ($ p ->getSignature ());
22+
23+ echo "Set MD5: \n" ;
1924$ p ->setSignatureAlgorithm (Phar::MD5 );
2025var_dump ($ p ->getSignature ());
26+
27+ echo "Set SHA1: \n" ;
2128$ p ->setSignatureAlgorithm (Phar::SHA1 );
2229var_dump ($ p ->getSignature ());
30+
31+ echo "Set SHA256: \n" ;
2332try {
24- $ p ->setSignatureAlgorithm (Phar::SHA256 );
25- var_dump ($ p ->getSignature ());
26- } catch (Exception $ e ) {
27- echo $ e ->getMessage ();
33+ $ p ->setSignatureAlgorithm (Phar::SHA256 );
34+ var_dump ($ p ->getSignature ());
35+ } catch (Throwable $ e ) {
36+ echo $ e::class, ' : ' , $ e ->getMessage (), PHP_EOL ;
2837}
38+
39+ echo "Set SHA512: \n" ;
2940try {
30- $ p ->setSignatureAlgorithm (Phar::SHA512 );
31- var_dump ($ p ->getSignature ());
32- } catch (Exception $ e ) {
33- echo $ e ->getMessage ();
41+ $ p ->setSignatureAlgorithm (Phar::SHA512 );
42+ var_dump ($ p ->getSignature ());
43+ } catch (Throwable $ e ) {
44+ echo $ e::class, ' : ' , $ e ->getMessage (), PHP_EOL ;
3445}
46+
47+ echo "Set OPENSSL: \n" ;
3548try {
36- $ config = __DIR__ . '/../files/openssl.cnf ' ;
37- $ config_arg = array ('config ' => $ config );
38- $ private = openssl_get_privatekey (file_get_contents (dirname (__DIR__ ) . '/files/private.pem ' ));
39- $ pkey = '' ;
40- openssl_pkey_export ($ private , $ pkey , NULL , $ config_arg );
41- $ p ->setSignatureAlgorithm (Phar::OPENSSL , $ pkey );
42- var_dump ($ p ->getSignature ());
43- $ p ->setSignatureAlgorithm (Phar::OPENSSL_SHA512 , $ pkey );
44- var_dump ($ p ->getSignature ());
45- $ p ->setSignatureAlgorithm (Phar::OPENSSL_SHA256 , $ pkey );
46- var_dump ($ p ->getSignature ());
47- } catch (Exception $ e ) {
48- echo $ e ->getMessage ();
49+ $ config = __DIR__ . '/../files/openssl.cnf ' ;
50+ $ config_arg = array ('config ' => $ config );
51+ $ private = openssl_get_privatekey (file_get_contents (dirname (__DIR__ ) . '/files/private.pem ' ));
52+ $ pkey = '' ;
53+ openssl_pkey_export ($ private , $ pkey , NULL , $ config_arg );
54+ $ p ->setSignatureAlgorithm (Phar::OPENSSL , $ pkey );
55+ var_dump ($ p ->getSignature ());
56+ echo "Set OPENSSL_SHA512: \n" ;
57+ $ p ->setSignatureAlgorithm (Phar::OPENSSL_SHA512 , $ pkey );
58+ var_dump ($ p ->getSignature ());
59+ echo "Set OPENSSL_SHA256: \n" ;
60+ $ p ->setSignatureAlgorithm (Phar::OPENSSL_SHA256 , $ pkey );
61+ var_dump ($ p ->getSignature ());
62+ } catch (Throwable $ e ) {
63+ echo $ e ::class, ': ' , $ e ->getMessage (), PHP_EOL ;
4964}
65+
5066?>
5167--CLEAN--
5268<?php
5369unlink (__DIR__ . '/ ' . basename (__FILE__ , '.clean.php ' ) . '.phar.tar ' );
5470?>
5571--EXPECTF--
72+ Default:
5673array(2) {
5774 ["hash"]=>
5875 string(%d) "%s"
5976 ["hash_type"]=>
6077 string(7) "SHA-256"
6178}
79+ Set MD5:
6280array(2) {
6381 ["hash"]=>
6482 string(%d) "%s"
6583 ["hash_type"]=>
6684 string(3) "MD5"
6785}
86+ Set SHA1:
6887array(2) {
6988 ["hash"]=>
7089 string(%d) "%s"
7190 ["hash_type"]=>
7291 string(5) "SHA-1"
7392}
93+ Set SHA256:
7494array(2) {
7595 ["hash"]=>
7696 string(%d) "%s"
7797 ["hash_type"]=>
7898 string(7) "SHA-256"
7999}
100+ Set SHA512:
80101array(2) {
81102 ["hash"]=>
82103 string(%d) "%s"
83104 ["hash_type"]=>
84105 string(7) "SHA-512"
85106}
107+ Set OPENSSL:
86108array(2) {
87109 ["hash"]=>
88110 string(%d) "%s"
89111 ["hash_type"]=>
90112 string(7) "OpenSSL"
91113}
114+ Set OPENSSL_SHA512:
92115array(2) {
93116 ["hash"]=>
94117 string(%d) "%s"
95118 ["hash_type"]=>
96119 string(14) "OpenSSL_SHA512"
97120}
121+ Set OPENSSL_SHA256:
98122array(2) {
99123 ["hash"]=>
100124 string(%d) "%s"
0 commit comments