説明
TLS証明書の検証コールバックが常に true を返すと、信頼できない証明書も受け入れてしまいます。
想定される影響
- 中間者攻撃、機密情報の窃取、偽のサーバーとの通信。
対処方法
既定の証明書検証を維持するか、明確な検証ポリシーを満たした証明書だけを受け入れてください。
例
変更前
csharp
handler.ServerCertificateCustomValidationCallback =
(message, cert, chain, errors) => true;
変更後
csharp
handler.ServerCertificateCustomValidationCallback =
(message, cert, chain, errors) => errors == SslPolicyErrors.None;
解説:
- 変更前: すべての証明書を受け入れるコールバックは、中間者攻撃を許すおそれがあります。
- 変更後: 既定の検証を維持するか、
SslPolicyErrors.Noneなどの明示的な検証を通過した証明書だけを受け入れてください。