diff options
author | Jakub Zelenka <bukka@php.net> | 2017-04-24 17:11:36 +0100 |
---|---|---|
committer | Jakub Zelenka <bukka@php.net> | 2017-04-24 17:11:36 +0100 |
commit | 9fa347997a47d5b44515a701b695e47696cba04b (patch) | |
tree | f17d87c27475b7b27cc7f6f6dd6bca2f86fe052c /ext/openssl/tests | |
parent | f7b8322b144122baddaf365c37dca3b8e547725e (diff) | |
download | php-git-9fa347997a47d5b44515a701b695e47696cba04b.tar.gz |
Fix bug #73833 (null character not allowed in openssl_pkey_get_private)
Diffstat (limited to 'ext/openssl/tests')
-rw-r--r-- | ext/openssl/tests/bug73833.phpt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ext/openssl/tests/bug73833.phpt b/ext/openssl/tests/bug73833.phpt new file mode 100644 index 0000000000..e6a298fdcc --- /dev/null +++ b/ext/openssl/tests/bug73833.phpt @@ -0,0 +1,30 @@ +--TEST-- +Bug #73833: null character not allowed in openssl_pkey_get_private +--SKIPIF-- +<?php +if (!extension_loaded("openssl")) die("skip openssl not loaded"); +?> +--FILE-- +<?php +$passwords = ["abc\x00defghijkl", "abcdefghikjl"]; + +foreach($passwords as $password) { + $key = openssl_pkey_new(); + + if (openssl_pkey_export($key, $privatePEM, $password) === false) { + echo "Failed to encrypt.\n"; + } else { + echo "Encrypted!\n"; + } + if (openssl_pkey_get_private($privatePEM, $password) === false) { + echo "Failed to decrypt.\n"; + } else { + echo "Decrypted!\n"; + } +} +?> +--EXPECT-- +Encrypted! +Decrypted! +Encrypted! +Decrypted! |