tlsv1.1_wrapper.phpt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. tlsv1.1 stream wrapper
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("openssl")) die("skip openssl not loaded");
  6. if (!function_exists("proc_open")) die("skip no proc_open");
  7. if (OPENSSL_VERSION_NUMBER < 0x10001001) die("skip OpenSSL 1.0.1 required");
  8. --FILE--
  9. <?php
  10. $serverCode = <<<'CODE'
  11. $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN;
  12. $ctx = stream_context_create(['ssl' => [
  13. 'local_cert' => __DIR__ . '/streams_crypto_method.pem',
  14. ]]);
  15. $server = stream_socket_server('tlsv1.1://127.0.0.1:64321', $errno, $errstr, $flags, $ctx);
  16. phpt_notify();
  17. for ($i=0; $i < 3; $i++) {
  18. @stream_socket_accept($server, 3);
  19. }
  20. CODE;
  21. $clientCode = <<<'CODE'
  22. $flags = STREAM_CLIENT_CONNECT;
  23. $ctx = stream_context_create(['ssl' => [
  24. 'verify_peer' => false,
  25. 'verify_peer_name' => false,
  26. ]]);
  27. phpt_wait();
  28. $client = stream_socket_client("tlsv1.1://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
  29. var_dump($client);
  30. $client = @stream_socket_client("sslv3://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
  31. var_dump($client);
  32. $client = @stream_socket_client("tlsv1.2://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
  33. var_dump($client);
  34. CODE;
  35. include 'ServerClientTestCase.inc';
  36. ServerClientTestCase::getInstance()->run($clientCode, $serverCode);
  37. --EXPECTF--
  38. resource(%d) of type (stream)
  39. bool(false)
  40. bool(false)