Annotation of embedaddon/php/ext/phar/tests/tar/phar_setsignaturealgo2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Phar::setSupportedSignatures() with hash, tar-based
3: --SKIPIF--
4: <?php if (!extension_loaded("phar")) die("skip"); ?>
5: <?php if (!extension_loaded("hash")) die("skip extension hash required");
6: $arr = Phar::getSupportedSignatures();
7: if (!in_array("OpenSSL", $arr)) die("skip openssl support required");
8: if (!in_array('SHA-256', $arr)) die("skip hash extension loaded shared"); ?>
9: --INI--
10: phar.require_hash=0
11: phar.readonly=0
12: --FILE--
13: <?php
14: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar';
15: $p = new Phar($fname);
16: $p['file1.txt'] = 'hi';
17: var_dump($p->getSignature());
18: $p->setSignatureAlgorithm(Phar::MD5);
19: var_dump($p->getSignature());
20: $p->setSignatureAlgorithm(Phar::SHA1);
21: var_dump($p->getSignature());
22: try {
23: $p->setSignatureAlgorithm(Phar::SHA256);
24: var_dump($p->getSignature());
25: } catch (Exception $e) {
26: echo $e->getMessage();
27: }
28: try {
29: $p->setSignatureAlgorithm(Phar::SHA512);
30: var_dump($p->getSignature());
31: } catch (Exception $e) {
32: echo $e->getMessage();
33: }
34: try {
35: $private = openssl_get_privatekey(file_get_contents(dirname(dirname(__FILE__)) . '/files/private.pem'));
36: $pkey = '';
37: openssl_pkey_export($private, $pkey);
38: $p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
39: var_dump($p->getSignature());
40: } catch (Exception $e) {
41: echo $e->getMessage();
42: }
43: ?>
44: ===DONE===
45: --CLEAN--
46: <?php
47: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
48: ?>
49: --EXPECTF--
50: array(2) {
51: ["hash"]=>
52: string(%d) "%s"
53: ["hash_type"]=>
54: string(5) "SHA-1"
55: }
56: array(2) {
57: ["hash"]=>
58: string(%d) "%s"
59: ["hash_type"]=>
60: string(3) "MD5"
61: }
62: array(2) {
63: ["hash"]=>
64: string(%d) "%s"
65: ["hash_type"]=>
66: string(5) "SHA-1"
67: }
68: array(2) {
69: ["hash"]=>
70: string(%d) "%s"
71: ["hash_type"]=>
72: string(7) "SHA-256"
73: }
74: array(2) {
75: ["hash"]=>
76: string(%d) "%s"
77: ["hash_type"]=>
78: string(7) "SHA-512"
79: }
80: array(2) {
81: ["hash"]=>
82: string(%d) "%s"
83: ["hash_type"]=>
84: string(7) "OpenSSL"
85: }
86: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>