Как использовать SSL


PHPoC может быть SSL-сервером или клиентом благодаря команде "set api ssl". В следующем примере показано, как использовать его в качестве сервера 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.

Пример 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.