名称

Mojo::IOLoop::TLS-非阻塞TLS握手

简介

使用Mojo::IOLoop::TLS;#协商TLSmy$tls=Mojo::IOLoop::tls->new($old_handle);$tls->on(upgrade=>sub($tls,$new_handle){…});上的$tls->(错误=>sub($tls,$err){…});$tls->协商(服务器=>1,tls_version=>“TLSv1_2”);#必要时启动反应器$tls->reactor->启动,除非$tls->reactor->正在运行;

描述

Mojo::IOLoop::TLS为协商TLSMojo::IOLoop.

活动

Mojo::IOLoop::TLS从继承所有事件Mojo::EventEmitter并且可以发射出以下新的气体。

升级

$tls->on(upgrade=>sub($tls,$handle){…});

一旦协商了TLS,即发射。

错误

上的$tls->(错误=>sub($tls,$err){…});

协商期间发生错误时发出,未处理时致命。

属性

Mojo::IOLoop::TLS实现以下属性。

反应堆

我的$reactor=$tls->reactor;$tls=$tls->reactor(Mojo::reactor::Poll->new);

低级别事件反应器,默认为反应堆全局的属性值Mojo::IOLoop独生子女。请注意,该属性被削弱了。

方法

Mojo::IOLoop::TLS从继承所有方法Mojo::EventEmitter并实现以下新功能。

can_tls(_T)

my$bool=Mojo::IOLoop::TLS->can_TLS;

如果为TrueIO::套接字::SSL已安装2.009+并启用TLS支持。

谈判

$tls->协商(服务器=>1,tls_version=>“TLSv1_2”);$tls->协商({server=>1,tls_version=>'TLSv1_2'});

协商TLS。

这些选项当前可用:

服务器
服务器=>1

从服务器端协商TLS,默认为客户端。

tls_ca公司
tls_ca=>“/etc/tls/ca.crt”

TLS证书颁发机构文件的路径。

tls证书
tls_cert=>“/etc/tls/server.crt”tls_cert=>{'mojolicious.org'=>'/etc/tls/mojo.crt'}

TLS证书文件的路径,默认为服务器端的内置测试证书。

tls_key键
tls_key=>'/etc/tls/server.key'tls_key=>{'moliquist.org'=>'/etc/tls/mojo.key'}

TLS密钥文件的路径,默认为服务器端的内置测试密钥。

tls选项
tls_options=>{SSL_alpn_protocols=>['foo','bar'],SSL_verify_mode=>0x00,SSL_版本=>'TLSv1_2'}

其他选项IO::套接字::SSL.

新的

my$tls=Mojo::IOLoop::tls->new($handle);

构建新的Mojo::IOLoop::流对象。

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.