1
Я использую SslStream для создания веб-сервера. Тем не менее, приведенный ниже код выдает исключение в AuthenticateAsServer.X509Certificate2 режим сервера SSL должен использовать сертификат с соответствующим закрытым ключом
static X509Certificate cert;
protected virtual Stream GetStream(TcpClient client)
{
var ss = new SslStream(client.GetStream(), false);
if (cert == null)
{
cert = X509Certificate2.CreateFromCertFile("test.cer");
}
ss.AuthenticateAsServer(cert, false, System.Security.Authentication.SslProtocols.Tls, true);
return ss;
}
Я уже использовал X509Certificate2, чтобы загрузить файл CERT, почему он до сих пор бросить исключение (режима SSL сервера должен использовать сертификат с связанным с ним закрытым ключом)?
Файл CERT был создан с помощью следующей команды:
makecert
-pe Exportable private key
-n "CN=localhost" Subject name
-ss my Certificate store name
-sr LocalMachine Certificate store location
-a sha1 Signature algorithm
-sky signature Subject key type is for signature purposes
-r Make a self-signed cert
"test.cer" Output filename
Благодаря это работает отлично, я должен был использовать новый X509Certificate2, хотя (не X509Certificate) – drake7707
'Ошибка: Невозможно создать файл для объекта ('server.pvk') '. У Windows есть пользовательский интерфейс для всего, они не могли сделать кнопку для этого через 1 секунду? –