Annotation of embedaddon/php/ext/phar/tests/zip/phar_setsignaturealgo2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Phar::setSupportedSignatures() with hash, zip-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.zip';
! 15: $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.2.phar.zip';
! 16: $fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.3.phar.zip';
! 17: $fname4 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.4.phar.zip';
! 18: $fname5 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.5.phar.zip';
! 19: $fname6 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.6.phar.zip';
! 20: $p = new Phar($fname);
! 21: $p['file1.txt'] = 'hi';
! 22: var_dump($p->getSignature());
! 23: $p->setSignatureAlgorithm(Phar::MD5);
! 24:
! 25: copy($fname, $fname2);
! 26: $p = new Phar($fname2);
! 27: var_dump($p->getSignature());
! 28:
! 29: $p->setSignatureAlgorithm(Phar::SHA1);
! 30:
! 31: copy($fname2, $fname3);
! 32: $p = new Phar($fname3);
! 33: var_dump($p->getSignature());
! 34:
! 35: try {
! 36: $p->setSignatureAlgorithm(Phar::SHA256);
! 37: copy($fname3, $fname4);
! 38: $p = new Phar($fname4);
! 39: var_dump($p->getSignature());
! 40: } catch (Exception $e) {
! 41: echo $e->getMessage();
! 42: }
! 43: try {
! 44: $p->setSignatureAlgorithm(Phar::SHA512);
! 45: copy($fname4, $fname5);
! 46: $p = new Phar($fname5);
! 47: var_dump($p->getSignature());
! 48: } catch (Exception $e) {
! 49: echo $e->getMessage();
! 50: }
! 51: try {
! 52: $keys=openssl_pkey_new();
! 53: openssl_pkey_export($keys, $privkey);
! 54: $pubkey=openssl_pkey_get_details($keys);
! 55: $p->setSignatureAlgorithm(Phar::OPENSSL, $privkey);
! 56:
! 57: copy($fname5, $fname6);
! 58: file_put_contents($fname6 . '.pubkey', $pubkey['key']);
! 59: $p = new Phar($fname6);
! 60: var_dump($p->getSignature());
! 61: } catch (Exception $e) {
! 62: echo $e->getMessage();
! 63: }
! 64: ?>
! 65: ===DONE===
! 66: --CLEAN--
! 67: <?php
! 68: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.zip');
! 69: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.phar.zip');
! 70: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.3.phar.zip');
! 71: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.4.phar.zip');
! 72: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.5.phar.zip');
! 73: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.6.phar.zip');
! 74: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.6.phar.zip.pubkey');
! 75: ?>
! 76: --EXPECTF--
! 77: array(2) {
! 78: ["hash"]=>
! 79: string(%d) "%s"
! 80: ["hash_type"]=>
! 81: string(5) "SHA-1"
! 82: }
! 83: array(2) {
! 84: ["hash"]=>
! 85: string(%d) "%s"
! 86: ["hash_type"]=>
! 87: string(3) "MD5"
! 88: }
! 89: array(2) {
! 90: ["hash"]=>
! 91: string(%d) "%s"
! 92: ["hash_type"]=>
! 93: string(5) "SHA-1"
! 94: }
! 95: array(2) {
! 96: ["hash"]=>
! 97: string(%d) "%s"
! 98: ["hash_type"]=>
! 99: string(7) "SHA-256"
! 100: }
! 101: array(2) {
! 102: ["hash"]=>
! 103: string(%d) "%s"
! 104: ["hash_type"]=>
! 105: string(7) "SHA-512"
! 106: }
! 107: array(2) {
! 108: ["hash"]=>
! 109: string(%d) "%s"
! 110: ["hash_type"]=>
! 111: string(7) "OpenSSL"
! 112: }
! 113: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>