前提・実現したいこと
C#で自己証明書を使用してSSL通信を行う処理を作成しています。
ソースは以下を参考にして作成しました。
https://msdn.microsoft.com/ja-jp/library/system.net.security.sslstream(v=vs.110).aspx
SSL通信ができていることは確認できましたが、2点質問があります。
・AuthenticateAsServerの第2引数がどういう意味なのが分かりません。
・自己証明書だと警告がでてしまうため、クライアント側でValidateServerCertificate()により回避していると解釈しています。これをクライアント側にこのようなは手を加えず、サーバ側だけの処理でどうにかできないでしょうか?
または、警告の出ないような自己証明書を作成することは可能でしょうか?
よろしくお願いいたします。
該当のソースコード
public static bool ValidateServerCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { if (sslPolicyErrors == SslPolicyErrors.None) return true; Console.WriteLine("Certificate error: {0}", sslPolicyErrors); // Do not allow this client to communicate with unauthenticated servers. return false; }
補足情報(FW/ツールのバージョンなど)
開発環境:Windows7 VisualStudio2017 Enterpris
自己証明書の作成環境:Windows7 Openssl