PHPoC может быть SSL-сервером или клиентом благодаря команде "set api ssl". В следующем примере показано, как использовать его в качестве сервера SSL.
$port = 1470; // port number
$pid = pid_open("/mmap/tcp0"); // open TCP 0
pid_ioctl($pid, "set api ssl"); // set api to SSL
pid_ioctl($pid, "set ssl method tls1_server"); // set SSL server mode
pid_bind($pid, "", $port); // binding
pid_listen($pid); // listen TCP connection
do
$state = pid_ioctl($pid, "get state");
while(($state != SSL_CLOSED) && ($state != SSL_CONNECTED));
if($state == SSL_CONNECTED)
{
echo "Connection has been established!\r\n";
pid_close($pid); // close TCP connection
}
※ Перед тем, как использовать SSL-сервер, необходимо сохранить сертификат в РНРоС. Создайте или сохраните сертификат для вашего продукта при помощи Отладчика PHPoC.
В следующем примере показано, как использовать PHPoC в качестве клиента SSL.
$addr = "10.1.0.2"; // server's IP address
$port = 1470; // server's port number
$pid = pid_open("/mmap/tcp0"); // open TCP 0
pid_ioctl($pid, "set api ssl"); // set api to SSL
pid_ioctl($pid, "set ssl method tls1_client"); // set SSL client mode
pid_connect($pid, $addr, $port); // connect to TCP server
do
$state = pid_ioctl($pid, "get state");
while(($state != SSL_CLOSED) && ($state != SSL_CONNECTED));
if($state == SSL_CONNECTED)
{
echo "Connection has been established!\r\n";
pid_close($pid); // close TCP connection
}
※ Связь SSL не может быть выполнена в случае нехватки памяти, вызванной увеличением импользования памяти PHPoC.