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

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

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