के साथ एक एसएसएल सर्वर सॉकेट सेट अप करना मैं एक साधारण सर्वर बनाने की कोशिश कर रहा हूं जो पोर्ट पर सुनता है और एसएसएल के साथ प्रमाणित करता है। मैं फ़ाइलों कोहस्ताक्षरित प्रमाणपत्र
server.crt
server.key
my-ca.crt
एक openssl ट्यूटोरियल (http://www.vanemery.com/Linux/Apache/apache-SSL.html) के साथ प्राप्त की है। my-ca.crt
मेरा स्वयं का सीए प्रमाणपत्र है, server.crt
में x509 सर्वर प्रमाणपत्र (my-ca.crt के साथ हस्ताक्षरित) और server.key
संबंधित निजी कुंजी है।
अब मुझे नहीं पता कि इन तीन फ़ाइलों को सी # में कैसे लोड किया जाए; मैं की तरह
serverCertificate = new X509Certificate2("server.crt", "secret_password");
sslStream.AuthenticateAsServer(serverCertificate, false, SslProtocols.Tls, true);
जो कुछ काम नहीं करता है (मैं एक
Unhandled Exception: System.NotSupportedException: The server mode SSL must use a certificate with the associated private key.
मिल), लेकिन मैं कोई सुराग नहीं कैसे server.key
और/या my-ca.crt
जोड़ने के लिए।
मैं इस तरह यह करने के लिए कोशिश की है: 'openssl अनुरोध -x509 -nodes -days 365 -newkey आरएसए: 1024 -keyout" अस्थायी \ signkey.key "आउट" अस्थायी \ signkey.key "-config" openssl.cfg "' और 'openssl pkcs12 -export -out" temp \ circuit.pfx "-in" temp \ signkey.key "-name" NAME "' लेकिन अपवाद बनी हुई है। कोई उपाय? –
@ क्रिस्टोफ आपको निर्यात प्रक्रिया पर निजी कुंजी को निम्नानुसार शामिल करने की आवश्यकता है: 'openssl pkcs12 -export -out प्रमाणपत्र.pfx -in प्रमाणपत्र.cer -inkey प्रमाणपत्र.key -name" एसएसएल स्ट्रीम प्रमाणपत्र "' -inkey' पैरामीटर के साथ । – Joseph