SSL / TSL - 查找证书的问题

时间:2018-02-09 13:03:58

标签: c# ssl ssl-certificate

我正在测试以下链接中给出的示例。

https://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx

要生成证书,我使用的是具有40个用户答案SSLStream example - how do I get certificates that work?

的证书

要运行服务器,我正在使用命令 SslTcpServer.exe TempCert.cer

以下是msdn中我遇到问题的代码。

public static int Main(string[] args)
        {
            string serverCertificateName = null;
            string machineName = null;
            if (args == null ||args.Length <1 )
            {
                DisplayUsage();
            }
            // User can specify the machine name and server name.
            // Server name must match the name on the server's certificate. 
            machineName = args[0];
            if (args.Length <2 )
            {
                serverCertificateName = machineName;
            }
            else 
            {
                serverCertificateName = args[1];
            }
            SslTcpClient.RunClient (machineName, serverCertificateName);
            return 0;
        }

调用X509Certificate.CreateFromCertFile时出现以下错误: System.Security.Cryptography.CryptographicException:'系统找不到指定的文件。

public static void RunServer(string certificate)
        {
            serverCertificate = X509Certificate.CreateFromCertFile(certificate);
            // Create a TCP/IP (IPv4) socket and listen for incoming connections.
            //serverCertificate = new X509Certificate2(certificate,"");
   }

serverCertificateName作为参数传递,它应该只是证书的名称,还是应该给出证书的完整路径?

如果我提供证书的路径,它工作正常。那么在商店中安装证书有什么意义?如何从商店获取并使用它?

1 个答案:

答案 0 :(得分:0)

以下是一些代码,它们将返回已安装证书支持的主机名列表(这比您想要的要多一些,但应指向正确的方向):

<slide-out-div class="contrastBoxDark">...</slide-out-div>