summaryrefslogtreecommitdiff
path: root/ext/openssl/tests/bug73833.phpt
blob: ad4e0874a8bbba42ff2d334a8867b1a50063f3b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--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"];
$conf = ['config' => __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf'];

foreach($passwords as $password) {
    $key = openssl_pkey_new($conf);

    if (openssl_pkey_export($key, $privatePEM, $password, $conf) === 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!