2
#46127, openssl_sign/verify: accept different algos
5
if (!extension_loaded("openssl")) die("skip, openssl required");
6
if (!extension_loaded("pcntl")) die("skip, pcntl required");
7
if (OPENSSL_VERSION_NUMBER < 0x009070af) die("skip");
12
function ssl_server($port) {
13
$pem = dirname(__FILE__) . '/bug46127.pem';
15
'verify_peer' => false,
16
'allow_self_signed' => true,
18
// 'passphrase' => '',
20
$context = stream_context_create(array('ssl' => $ssl));
21
$sock = stream_socket_server('ssl://127.0.0.1:'.$port, $errno, $errstr, STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context);
22
if (!$sock) return false;
24
$link = stream_socket_accept($sock);
25
if (!$link) return false; // bad link?
27
fputs($link, "Sending bug 46127\n");
36
echo "Running bug46127\n";
38
$port = rand(15000, 32000);
41
if ($pid == 0) { // child
48
$sock = fsockopen('ssl://127.0.0.1', $port, $errno, $errstr);
53
pcntl_waitpid($pid, $status);