-
Notifications
You must be signed in to change notification settings - Fork 7
Mojo::IOLoop::TLS
Mojoliciousドキュメント 日本語訳は以下に引っ越しました。
Mojo::IOLoop::TLS - Mojoliciousドキュメント 日本語訳
独自ドメインのページで、Giblogを使って、サイトを再構成しました。
ドキュメントの各ページのタイトルが正しく検索エンジンで表示されなかったことが課題で、それを解決することが目的です。
サイトの更新は、新しいページ行われます。
新しいサイトを検索エンジンで発見できるようになったタイミングで、このページのコンテンツは、削除されます。
Mojo::IOLoop::TLS - ノンブロッキングTLSハンドシェイク
use Mojo::IOLoop::TLS;
# TLSを交渉する
my $tls = Mojo::IOLoop::TLS->new($old_handle);
$tls->on(upgrade => sub {
my ($tls, $new_handle) = @_;
...
});
$tls->on(error => sub {
my ($tls, $err) = @_;
...
});
$tls->negotiate(server => 1, tls_version => 'TLSv1_2');
# 必要ならばリアクターを始動させる
$tls->reactor->start unless $tls->reactor->is_running;
Mojo::IOLoop::TLSはMojo::IOLoopのためにTLSを交渉します。
Mojo::IOLoop::TLSはMojo::EventEmitterのすべてのイベントを継承しており、次の新しいイベントを発行します。
$tls->on(upgrade => sub {
my ($tls, $handle) = @_;
...
});
TLSがネゴシエートされたら発行されます。
$tls->on(error => sub {
my ($tls, $err) = @_;
...
});
交渉中にエラーが発生した場合に発生し、未処理の場合は致命的です。
Mojo::IOLoop::TLSは以下の属性を実装しています。
my $reactor = $tls->reactor;
$tls = $tls->reactor(Mojo::Reactor::Poll->new);
Low-level event reactor, defaults to the reactor
attribute value of the global Mojo::IOLoop singleton. Note that this attribute is weakened.
低レベルのイベントリアクタ。デフォルトは、グローバルなMojo::IOLoopシングルトンのreactor属性値です。 この属性は弱参照です。
Mojo::IOLoop::TLSはMojo::EventEmitterのすべてのメソッドを継承しており、次の新しいメソッドを継承しています。
my $bool = Mojo::IOLoop::TLS->can_tls;
IO::Socket::SSLの2.009以上がインストールされており、TLSサポートが有効であれば、真です。
$tls->negotiate(server => 1, tls_version => 'TLSv1_2');
$tls->negotiate({server => 1, tls_version => 'TLSv1_2'});
TLSを交渉します。
以下のオプションは現在利用可能です:
- server
-
server => 1
TLSをサーバー側からネゴシエートします。デフォルトはクライアント側です。
- tls_ca
-
tls_ca => '/etc/tls/ca.crt'
TLS認証局ファイルへのパス。
- tls_cert
-
tls_cert => '/etc/tls/server.crt' tls_cert => {'mojolicious.org' => '/etc/tls/mojo.crt'}
TLS証明書ファイルへのパス。デフォルトでは、サーバ側の組み込みのテスト証明書が使用されます。
- tls_ciphers
-
tls_ciphers => 'AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH'
TLS cipher specification string. For more information about the format see https://www.openssl.org/docs/manmaster/apps/ciphers.html#CIPHER-STRINGS.
TLS暗号仕様文字列。フォーマットの詳細は、 https://www.openssl.org/docs/manmaster/apps/ciphers.html#CIPHER-STRINGS。
- tls_key
-
tls_key => '/etc/tls/server.key' tls_key => {'mojolicious.org' => '/etc/tls/mojo.key'}
TLSキーファイルへのパス。デフォルトはサーバー側の組み込みテストキーです。
- tls_protocols
-
tls_protocols => ['foo', 'bar']
交渉するALPNプロトコル。
- tls_verify
-
tls_verify => 0x00
TLS検証モード
- tls_version
-
tls_version => 'TLSv1_2'
TLSプロトコルのバージョン。
my $tls = Mojo::IOLoop::TLS->new($handle);
新しいMojo::IOLoop::Streamオブジェクトを構築します。
Mojolicious, Mojolicious::Guides, https://mojolicious.org.
(Mojolicious 8.12対応。2019年5月22日更新)
Mojolicious日本語訳は「Perlゼミ制作」です。