Annotation of embedaddon/php/ext/phar/tests/tar/phar_setsignaturealgo2.phpt, revision 1.1.1.2

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
1.1.1.2 ! misho      12: --ENV--
        !            13: TEMP=.
        !            14: TMP=.
1.1       misho      15: --FILE--
                     16: <?php
                     17: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar';
                     18: $p = new Phar($fname);
                     19: $p['file1.txt'] = 'hi';
                     20: var_dump($p->getSignature());
                     21: $p->setSignatureAlgorithm(Phar::MD5);
                     22: var_dump($p->getSignature());
                     23: $p->setSignatureAlgorithm(Phar::SHA1);
                     24: var_dump($p->getSignature());
                     25: try {
                     26: $p->setSignatureAlgorithm(Phar::SHA256);
                     27: var_dump($p->getSignature());
                     28: } catch (Exception $e) {
                     29: echo $e->getMessage();
                     30: }
                     31: try {
                     32: $p->setSignatureAlgorithm(Phar::SHA512);
                     33: var_dump($p->getSignature());
                     34: } catch (Exception $e) {
                     35: echo $e->getMessage();
                     36: }
                     37: try {
1.1.1.2 ! misho      38: $config = dirname(__FILE__) . '/../files/openssl.cnf';
        !            39: $config_arg = array('config' => $config);
1.1       misho      40: $private = openssl_get_privatekey(file_get_contents(dirname(dirname(__FILE__)) . '/files/private.pem'));
                     41: $pkey = '';
1.1.1.2 ! misho      42: openssl_pkey_export($private, $pkey, NULL, $config_arg);
1.1       misho      43: $p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
                     44: var_dump($p->getSignature());
                     45: } catch (Exception $e) {
                     46: echo $e->getMessage();
                     47: }
                     48: ?>
                     49: ===DONE===
                     50: --CLEAN--
                     51: <?php
                     52: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
                     53: ?>
                     54: --EXPECTF--
                     55: array(2) {
                     56:   ["hash"]=>
                     57:   string(%d) "%s"
                     58:   ["hash_type"]=>
                     59:   string(5) "SHA-1"
                     60: }
                     61: array(2) {
                     62:   ["hash"]=>
                     63:   string(%d) "%s"
                     64:   ["hash_type"]=>
                     65:   string(3) "MD5"
                     66: }
                     67: array(2) {
                     68:   ["hash"]=>
                     69:   string(%d) "%s"
                     70:   ["hash_type"]=>
                     71:   string(5) "SHA-1"
                     72: }
                     73: array(2) {
                     74:   ["hash"]=>
                     75:   string(%d) "%s"
                     76:   ["hash_type"]=>
                     77:   string(7) "SHA-256"
                     78: }
                     79: array(2) {
                     80:   ["hash"]=>
                     81:   string(%d) "%s"
                     82:   ["hash_type"]=>
                     83:   string(7) "SHA-512"
                     84: }
                     85: array(2) {
                     86:   ["hash"]=>
                     87:   string(%d) "%s"
                     88:   ["hash_type"]=>
                     89:   string(7) "OpenSSL"
                     90: }
                     91: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>