Annotation of embedaddon/php/ext/openssl/tests/bug54992.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #54992: Stream not closed and error not returned when SSL CN_match fails
3: --SKIPIF--
4: <?php
5: if (!extension_loaded("openssl")) die("skip");
6: if (!function_exists('pcntl_fork')) die("skip no fork");
7: --FILE--
8: <?php
9: $context = stream_context_create();
10:
11: stream_context_set_option($context, 'ssl', 'local_cert', __DIR__ . "/bug54992.pem");
12: stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
13: $server = stream_socket_server('ssl://127.0.0.1:64321', $errno, $errstr,
14: STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);
15:
16:
17: $pid = pcntl_fork();
18: if ($pid == -1) {
19: die('could not fork');
20: } else if ($pid) {
21: $contextC = stream_context_create(
22: array(
23: 'ssl' => array(
24: 'verify_peer' => true,
25: 'cafile' => __DIR__ . '/bug54992-ca.pem',
26: 'CN_match' => 'buga_buga',
27: )
28: )
29: );
30: var_dump(stream_socket_client("ssl://127.0.0.1:64321", $errno, $errstr, 1,
31: STREAM_CLIENT_CONNECT, $contextC));
32: } else {
33: @pcntl_wait($status);
34: @stream_socket_accept($server, 1);
35: }
36: --EXPECTF--
37: Warning: stream_socket_client(): Peer certificate CN=`bug54992.local' did not match expected CN=`buga_buga' in %s on line %d
38:
39: Warning: stream_socket_client(): Failed to enable crypto in %s on line %d
40:
41: Warning: stream_socket_client(): unable to connect to ssl://127.0.0.1:64321 (Unknown error) in %s on line %d
42: bool(false)
43:
44:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>