私はあなたに何かを伝えたいと言います、そして私は他の誰にもそれを知られたくないのです。パスワードを設定し、それを使用してメッセージを暗号化してから、メッセージを送信します。
パスワードと暗号化されたメッセージを渡した相手があなたであるかどうかを確認しなかった場合はどうなりますか?そうすれば、何人でもあなたになりすますことができ、暗号化は無駄になります。それが最近までのLWPのHTTPSサポートの状態でした。
これで、LWPにかつてのように動作するように要求しない限り、LWPは実際に誰と話しているかを確認します。あなたはそれを使用してそれを行うことができます:
my $ua = LWP::UserAgent->new(
ssl_opts => { verify_hostname => 0 },
);
あらゆる場所でオプションを指定せずに、スクリプト内のすべてのLWP :: UserAgentインスタンスに影響を与えたい場合は、スクリプトに以下を追加できます。
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
または、次のようにスクリプトを起動できます。
PERL_LWP_SSL_VERIFY_HOSTNAME=0 script.pl
最後に、LWPを常に安全でないようにする場合は、ログインスクリプトに次を追加できます。
export PERL_LWP_SSL_VERIFY_HOSTNAME=0
ただし、上記のいずれもお勧めしません。はるかに優れたオプションは、通信しているホストに証明書を提供することです。(これは、私が何を意味するかを知っている場合、Firefoxで例外を追加するのと同じです。)のドキュメントを参照してください$ua->ssl_opts
。