Tôi đang cố gắng tạo một máy chủ đơn giản có thể nghe trên cổng và xác thực bằng ssl. Tôi có các tệpThiết lập ổ cắm máy chủ ssl với chứng chỉ đã ký
server.crt
server.key
my-ca.crt
thu được với hướng dẫn openssl (http://www.vanemery.com/Linux/Apache/apache-SSL.html). my-ca.crt
là chứng chỉ CA của riêng tôi, server.crt
chứa chứng chỉ máy chủ x509 (ký với my-ca.crt) và server.key
là khóa riêng tương ứng.
Tôi hiện không biết cách tải ba tệp này trong C#; Tôi có một cái gì đó giống như
serverCertificate = new X509Certificate2("server.crt", "secret_password");
sslStream.AuthenticateAsServer(serverCertificate, false, SslProtocols.Tls, true);
mà không làm việc (tôi nhận được một
Unhandled Exception: System.NotSupportedException: The server mode SSL must use a certificate with the associated private key.
) nhưng tôi không có đầu mối làm thế nào để thêm server.key
và/hoặc my-ca.crt
.
tôi đã cố gắng để làm điều đó như thế này: 'openssl req -x509 -nodes -days 365 -newkey rsa: 1024 -keyout "temp \ signkey.key" out "temp \ signkey.key "-config" openssl.cfg "' và 'openssl pkcs12 -export -out" temp \ certificate.pfx "-in" temp \ signkey.key "-name" NAME "' nhưng ngoại lệ vẫn còn. Bất kỳ ý tưởng? –
@Christoph bạn cần bao gồm khóa cá nhân trong quá trình xuất như sau: 'openssl pkcs12 -export -out certificate.pfx -in certificate.cer -inkey certificate.key -name" dòng SSL Chứng chỉ "' với tham số '-inkey' . – Joseph