函式名:EventBufferEvent::sslGetCipherName()
適用版本:libevent 2.0.1-alpha 及更高版本
函式說明:該函式用於獲取與當前 SSL 連線關聯的金鑰交換演算法的名稱。
用法:
public string EventBufferEvent::sslGetCipherName ( void )
引數:該函式不接受任何引數。
返回值:返回一個字串,表示當前 SSL 連線關聯的金鑰交換演算法的名稱。
示例:
$base = new EventBase();
$socket = stream_socket_server('tcp://127.0.0.1:8000', $errno, $errstr);
$event = new EventBufferEvent($base, $socket, EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_SSL_CONNECTING, 'ssl://server.com');
$event->sslSetOptions(EventBufferEvent::SSL_OPTIONS_DEFAULT);
$event->sslHandshake();
$cipherName = $event->sslGetCipherName();
echo "Cipher Name: " . $cipherName; // 輸出:Cipher Name: ECDHE-RSA-AES256-GCM-SHA384
上述示例中,首先建立了一個 EventBase 物件和一個監聽 socket,然後利用 EventBufferEvent 類建立了一個 SSL 連線的事件物件。接著設定了 SSL 相關的選項並進行 SSL 握手,最後透過 sslGetCipherName()
函式獲取當前 SSL 連線使用的金鑰交換演算法的名稱,並列印輸出。
請注意,使用該函式前需要先確保已成功進行了 SSL 握手。