在 C# 中,在服务器端使用 SslStream.AuthenticateAsServer() 有什么意义?

In C# what is the point of using SslStream.AuthenticateAsServer() on the server side?

我正在尝试侦听端口上的安全 TCP 连接。我正在浏览 Microsoft 文档上的服务器代码示例。我粘贴在这里以供快速参考:

static void ProcessClient (TcpClient client)
    {
        // A client has connected. Create the
        // SslStream using the client's network stream.
        SslStream sslStream = new SslStream(
            client.GetStream(), false);
        // Authenticate the server but don't require the client to authenticate.
        try
        {
            sslStream.AuthenticateAsServer(serverCertificate, clientCertificateRequired: false, checkCertificateRevocation: true);

            // Display the properties and settings for the authenticated stream.
            DisplaySecurityLevel(sslStream);
            DisplaySecurityServices(sslStream);
            DisplayCertificateInformation(sslStream);
            DisplayStreamProperties(sslStream);

我的疑问是为什么服务器要对自己进行身份验证?或者我在这里遗漏了什么。

也许您漏掉了“As”。该调用告诉 SslStream 它应该为 TLS 握手(发生身份验证的地方)做准备,并且它在握手中扮演服务器角色。

所以它真的是“开始身份验证阶段,作为服务器”。