C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■93686 / 2階層)  「SSL証明書の検証を無視させる」はなぜ必要ですか?
□投稿者/ 白熊 (2回)-(2020/01/10(Fri) 10:12:46)
Azulean様
ご教授ありがとうございます。

>
>>また、Connect()メソッドでuseSsl=trueであっても必要なのでしょうか?
>
> 逆です。
> useSsl = true だからこそ必要です。



まずPOP3サーバーでポートは110を指定し、SSL認証は使用していません。useSslはfalseです。
この状態でuseSslにfalseを指定してConnectを実行すると例外が発生します。

pop3.Connect("xxxxx", 110, useSsl:false);
例外内容
MailKit.Security.SslHandshakeException
An error occurred while attempting to establish an SSL or TLS connection.

The SSL certificate presented by the server is not trusted by the system for one or more of the following reasons:
1. The server is using a self-signed certificate which cannot be verified.
2. The local system is missing a Root or Intermediate certificate needed to verify the server's certificate.
3. The certificate presented by the server is expired or invalid.

See https://github.com/jstedfast/MailKit/blob/master/FAQ.md#InvalidSslCertificate for possible solutions.


次に、証明書を無視するコードを記載し実行するとメールを受信することができました。
System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
pop3.Connect("xxxxx", 110, useSsl:false);


どうしてuseSsl=falseなのにSSL認証をチェックしようとするのでしょうか?
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? /Azulean →Re[3]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? /はまぐり
 
上記関連ツリー

「SSL証明書の検証を無視させる」はなぜ必要ですか? / 白熊 (20/01/09(Thu) 16:28) #93684
Re[1]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? / Azulean (20/01/10(Fri) 06:37) #93685
  └ 「SSL証明書の検証を無視させる」はなぜ必要ですか? / 白熊 (20/01/10(Fri) 10:12) #93686 ←Now
    └ Re[3]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? / はまぐり (20/01/10(Fri) 10:39) #93687
      └ Re[4]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? / はまぐり (20/01/10(Fri) 10:42) #93688
        └ Re[5]: 「SSL証明書の検証を無視させる」はなぜ必要ですか? / 白熊 (20/01/10(Fri) 11:43) #93689 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信