查詢

EventBufferEvent::sslGetCipherInfo()函式—用法及示例

「 返回當前SSL/TLS連線中使用的加密演算法的詳細資訊 」


函式名稱:EventBufferEvent::sslGetCipherInfo()

適用版本:PHP 5 >= 5.4.0, PHP 7, PECL event >= 1.4.0

函式說明:EventBufferEvent::sslGetCipherInfo()函式返回當前SSL/TLS連線中使用的加密演算法的詳細資訊。

用法:EventBufferEvent::sslGetCipherInfo ( void ) : array

示例:

<?php
$base = new EventBase();
$socket = stream_socket_server("tcp://127.0.0.1:8000", $errno, $errstr);
$event = new Event($base, $socket, Event::READ | Event::PERSIST, function($socket) {
    // 建立一個新的 EventBufferEvent
    $bev = new EventBufferEvent($base, $socket, EventBufferEvent::OPT_CLOSE_ON_FREE);

    // 開啟SSL/TLS連線
    $bev->sslFilter(base, EventBufferEvent::SSL_CONNECTING, EventBufferEvent::OPT_CLOSE_ON_FREE);
    
    // 獲取加密演算法資訊
    $cipherInfo = $bev->sslGetCipherInfo();
  
    // 列印加密演算法資訊
    print_r($cipherInfo);
    
    // 關閉EventBufferEvent
    $bev->free();
    
    // 關閉連線
    EventUtil::closeSocket($socket);
});

// 新增事件到 event base
$event->add();

// 進入事件迴圈
$base->loop();
?>

說明:

  1. 首先,在建立EventBufferEvent時,需要使用sslFilter方法開啟SSL/TLS連線。
  2. 接著,使用sslGetCipherInfo()方法獲取當前加密演算法的詳細資訊。
  3. 最後,列印加密演算法資訊並關閉EventBufferEvent和連線。
補充糾錯
熱門PHP函式
分享連結