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并实现以下新功能。
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.