com php-src: Merge branch 'pull-request/1814': ext/openssl/test s/openssl_free_key.phpt

From: Date: Mon, 17 Oct 2016 16:01:10 +0000
Subject: com php-src: Merge branch 'pull-request/1814': ext/openssl/test s/openssl_free_key.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-95158@lists.php.net to get a copy of this message
Commit: 522e4f11741c539c9f3405d3e11feff5d18b540a Author: Joe Watkins <krakjoe@php.net> Mon, 17 Oct 2016 16:50:53 +0100 Parents: 6806a41e7fca8cce9826305a43578629257765ad Branches: PHP-7.0 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=522e4f11741c539c9f3405d3e11feff5d18b540a Log: Merge branch 'pull-request/1814' Changed paths: A ext/openssl/tests/openssl_free_key.phpt Diff: diff --git a/ext/openssl/tests/openssl_free_key.phpt b/ext/openssl/tests/openssl_free_key.phpt new file mode 100644 index 0000000..18219a2 --- /dev/null +++ b/ext/openssl/tests/openssl_free_key.phpt @@ -0,0 +1,77 @@ +--TEST-- +void openssl_free_key ( resource $key_identifier ); +--CREDITS-- +marcosptf - <marcosptf@yahoo.com.br> - @phpsp - sao paulo - br +--SKIPIF-- +<?php +if (!extension_loaded("openssl")) + die("skip"); +if (!@openssl_pkey_new()) + die("skip cannot create private key"); +?> +--FILE-- +<?php +echo "Creating private key\n"; + +/* stack up some entropy; performance is not critical, + * and being slow will most likely even help the test. + */ +for ($z = "", $i = 0; $i < 1024; $i++) { + $z .= $i * $i; + if (function_exists("usleep")) + usleep($i); +} + +$privkey = openssl_pkey_new(); + +if ($privkey === false) + die("failed to create private key"); + +$passphrase = "banana"; +$key_file_name = tempnam("/tmp", "ssl"); +if ($key_file_name === false) + die("failed to get a temporary filename!"); + +echo "Export key to file\n"; + +openssl_pkey_export_to_file($privkey, $key_file_name, $passphrase) or die("failed to export to file $key_file_name"); + +echo "Load key from file - array syntax\n"; + +$loaded_key = openssl_pkey_get_private(array("file://$key_file_name", $passphrase)); + +if ($loaded_key === false) + die("failed to load key using array syntax"); + +openssl_free_key($loaded_key); + +echo "Load key using direct syntax\n"; + +$loaded_key = openssl_pkey_get_private("file://$key_file_name", $passphrase); + +if ($loaded_key === false) + die("failed to load key using direct syntax"); + +openssl_free_key($loaded_key); + +echo "Load key manually and use string syntax\n"; + +$key_content = file_get_contents($key_file_name); +$loaded_key = openssl_pkey_get_private($key_content, $passphrase); + +if ($loaded_key === false) + die("failed to load key using string syntax"); + +openssl_free_key($loaded_key); + +echo "OK!\n"; + +@unlink($key_file_name); +?> +--EXPECT-- +Creating private key +Export key to file +Load key from file - array syntax +Load key using direct syntax +Load key manually and use string syntax +OK!

« previous php.cvs (#95158) next »