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>