あぁ、依存関係が面倒だった。
bind-9.14.12 : portsで入れると
openssl : ports で。 1.1.1g に。
これで named はちゃんと動き始めたが、libcrypto.so が変わったのでちょっと心配になっていくつかみたら、
いきなり apache (mod_ssl.so)が共有ライブラリ見失った。
apache24 も作り直し。
ここで MTも見てみたら、ssl通信関連のモジュールが見当たらないとか言い始める。
501 Attempt to reload IO/Socket/SSL.pm aborted. Compilation failed in require (LWP::Protocol::https not installed):
もう片っ端から入れ直し。 perl5, p5-LWP-Protocol-https,p5-IO-Socket-SSL。でもこれでも直らないので、探してみたら
perl-Socketを入れ直すらしい。
https://qiita.com/fukuchan-senpai/items/e6d6731b27ead15e22e8
やっとこれで元に復帰した(つもりでいるけど、まだどっかに落とし穴があるに違いない)
あぁ、依存関係が面倒だった。
bind-9.14.12 : portsで入れると
openssl : ports で。 1.1.1g に。
これで named はちゃんと動き始めたが、libcrypto.so が変わったのでちょっと心配になっていくつかみたら、
いきなり apache (mod_ssl.so)が共有ライブラリ見失った。
apache24 も作り直し。
ここで MTも見てみたら、ssl通信関連のモジュールが見当たらないとか言い始める。
501 Attempt to reload IO/Socket/SSL.pm aborted. Compilation failed in require (LWP::Protocol::https not installed):
もう片っ端から入れ直し。 perl5, p5-LWP-Protocol-https,p5-IO-Socket-SSL。でもこれでも直らないので、探してみたら
perl-Socketを入れ直すらしい。
https://qiita.com/fukuchan-senpai/items/e6d6731b27ead15e22e8
やっとこれで元に復帰した(つもりでいるけど、まだどっかに落とし穴があるに違いない)
imaptoolsの代わりになるものを探すと、あっさりその名もpop2imap。今回の perlでモジュールをいくつか追加するだけでよさそう、と思ったらSSLサーバの認証が厳しくなってた。
普通に使うと、
From pop3 server [popserver] port [110] user [popuser]
To imap server [imapserver] [ssl] port [993] user [imapuseruser]
TimeZone :[asia/tokyo]
Login POP OK
Unable to connect to imapserver: SSL connect attempt failed error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed ...propagated at /usr/local/bin/pop2imap line 242.
と、今回は imap側のみSSLにしているが、エラーになる。
いろいろ検索してみると出てくるが、利用しているモジュール Mail::IMAPClient の中で呼ばれている IO::Socket::SSLでの証明書の取扱が厳格になったため、IMAPサーバで利用している勝手証明書(自己CA署名)の verifyが通らないからのようだ。https://metacpan.org/pod/IO::Socket::SSL#SSL_verify_modeにあるように、serverのときは SSL_VERIFY_NONE,clientとして使うときは SSL_VERIFY_PEERと、なり今回のように imap clientとして動作するときはその正当性を見るらしい。CAルートとして、SSL_ca_file,SSL_ca_path などで設定することもできたり、IO::Socket::SSLをインストールすると入る? Mozzila/CA/cacert.pm を見に行くようになっている。
勝手証明書を指定したり、正規の証明書を取得するのもありだけど、そこそこ面倒なので、単に IO::Socket::SSLを呼ぶときに SSL_VERIFY_NONE にしてしまうのが一番簡単かと。どうするべと思っていたら、
Mail::IMAPClientに、Socketargsという設定があって Mail::IMAPClientから IO::Socket::SSLを呼ぶときにパラメータ設定ができるようになっているのでこれを利用することにする。
*** /usr/local/bin/pop2imap Thu Dec 27 21:49:13 2018
--- /usr/local/bin/pop2imap_noac Wed Jan 9 19:53:45 2019
***************
*** 233,238 ****
--- 233,239 ----
Uid => 1,
Debug => $debugimap,
Timeout => $timeout2,
+ Socketargs => [ SSL_verify_mode => 0 ],
) ;
if(!$starttls2) {
$common{'Ssl'} = $ssl2;
とした、pop2imap_noacを利用。ただし versrion指定があって、
Version note: attribute added in Mail::IMAPClient 3.34
の模様。現在の時点では 3.40 。
imaptoolsの代わりになるものを探すと、あっさりその名もpop2imap。今回の perlでモジュールをいくつか追加するだけでよさそう、と思ったらSSLサーバの認証が厳しくなってた。
普通に使うと、
From pop3 server [popserver] port [110] user [popuser]
To imap server [imapserver] [ssl] port [993] user [imapuseruser]
TimeZone :[asia/tokyo]
Login POP OK
Unable to connect to imapserver: SSL connect attempt failed error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed ...propagated at /usr/local/bin/pop2imap line 242.
と、今回は imap側のみSSLにしているが、エラーになる。
いろいろ検索してみると出てくるが、利用しているモジュール Mail::IMAPClient の中で呼ばれている IO::Socket::SSLでの証明書の取扱が厳格になったため、IMAPサーバで利用している勝手証明書(自己CA署名)の verifyが通らないからのようだ。https://metacpan.org/pod/IO::Socket::SSL#SSL_verify_modeにあるように、serverのときは SSL_VERIFY_NONE,clientとして使うときは SSL_VERIFY_PEERと、なり今回のように imap clientとして動作するときはその正当性を見るらしい。CAルートとして、SSL_ca_file,SSL_ca_path などで設定することもできたり、IO::Socket::SSLをインストールすると入る? Mozzila/CA/cacert.pm を見に行くようになっている。
勝手証明書を指定したり、正規の証明書を取得するのもありだけど、そこそこ面倒なので、単に IO::Socket::SSLを呼ぶときに SSL_VERIFY_NONE にしてしまうのが一番簡単かと。どうするべと思っていたら、
Mail::IMAPClientに、Socketargsという設定があって Mail::IMAPClientから IO::Socket::SSLを呼ぶときにパラメータ設定ができるようになっているのでこれを利用することにする。
*** /usr/local/bin/pop2imap Thu Dec 27 21:49:13 2018
--- /usr/local/bin/pop2imap_noac Wed Jan 9 19:53:45 2019
***************
*** 233,238 ****
--- 233,239 ----
Uid => 1,
Debug => $debugimap,
Timeout => $timeout2,
+ Socketargs => [ SSL_verify_mode => 0 ],
) ;
if(!$starttls2) {
$common{'Ssl'} = $ssl2;
とした、pop2imap_noacを利用。ただし versrion指定があって、
Version note: attribute added in Mail::IMAPClient 3.34
の模様。現在の時点では 3.40 。