函数名: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 握手。