これは実際にはどこでも明示的に定義されておらず、サーバーを「信頼する」必要があるかどうかは、クライアント(もちろん別のメールサーバー)に接続します。関連するRFC(RFC 2487)から引用:
SMTPクライアントは、認証または
プライバシーのレベルが継続するほど高くないと判断した場合、
TLSネゴシエーションが完了した直後にSMTP QUITコマンドを発行する必要があります。
SMTPサーバーは、認証または
プライバシーのレベルが継続するほど高くないと判断した場合、
クライアントからのすべてのSMTPコマンド(QUITコマンド以外)
に554応答コード(可能なテキスト文字列など)で応答する必要があります(SHOULD )「
セキュリティの欠如によりコマンドが拒否された」など)。
TLSネゴシエーションで相手の信頼性を信じるかどうかの決定はローカルの問題です。ただし、
決定の一般的な規則は次のとおりです。
- A SMTP client would probably only want to authenticate an SMTP
server whose server certificate has a domain name that is the
domain name that the client thought it was connecting to.
これは基本的に意味することは、他の部分に指定された証明書、それは完全に依存受諾または拒否することについての決定を使用するであろう時にサーバーが提供TLS暗号化であり、おそらく可能性が証明書の名前は、それが接続されて同じようにしたいが、一致していなくても非常によく受け入れます。
しかし、待ってください、まだあります。同じRFCから再度引用:
TLSハンドシェイクが完了すると、SMTPプロトコルは
初期状態(サーバーが220
サービス準備完了グリーティングを発行した後のSMTPの状態)にリセットされます。サーバーは
、TLSネゴシエーション自体から取得されなかっ
たEHLOコマンドへの引数など、クライアントから取得された知識を破棄しなければなりません(MUST)
。クライアント
は
、TLS
ネゴシエーション自体から取得されなかったSMTPサービス拡張のリストなど、サーバーから取得された知識を破棄しなければなりません(MUST)。クライアントは
、TLSネゴシエーションが成功した後、最初のコマンドとしてEHLOコマンドを送信する必要があります。
したがって、TLSハンドシェイクの前にHELO / EHLO に応答してサーバーが言っていることは、実際にはまったく問題にならないようです。
私の経験では、自己署名証明書はインターネットに直接接続されたメールサーバーで非常にうまく機能します。つまり、他のメールサーバーはそれらを検証することすら気にせず、発行に関係なく、TLS権限またはサブジェクト名。