Wie kann ich ein SSL-Zertifikat von PEM umwandeln, die privaten Schlüssel DEM und zu halten?

StackOverflow https://stackoverflow.com/questions/213568

Frage

Hintergrundgeschichte: Ich habe ein PKCS # 12 (p12) Zertifikat mit einem symmetrischen Chiffre (Passwort), die ich OpenSSL verwendet, um eine PEM zu konvertieren; Öffnung, die als Text ich es enthält sowohl einen BEGIN/END CERTIFICATE Abschnitt sowie BEGIN/END RSA PRIVATE KEY sehen. Die .NET Framework X509Certificate Klasse unterstützt nur den „ASN.1 DEN“ -Format, so habe ich OpenSSL die PEM konvertieren Die. Leider scheint es, dies den privaten Schlüssel enthält nicht tun, das ist, was ich für die Herstellung einer SSL-Verbindung mit SslStream & TcpClient müssen.

X509CertificateCollection certsFromFile = new X509CertificateCollection();
X509Certificate2 cert = new X509Certificate2("my.der.crt");
if (!cert.HasPrivateKey)
    throw new Exception("No private key");
certsFromFile.Add(cert);

TcpClient tcpclient = new TcpClient(hostname, port);
SslStream sslstream = new SslStream(tcpclient.GetStream(), false,
    null, null);
sslstream.AuthenticateAsClient(hostname, certsFromFile,
    SslProtocols.Ssl3, false);
sslstream.Close();
tcpclient.Close();

Wie kann ich diese PEM-Datei nehmen und es in einem DER machen, während die privaten Schlüssel Informationen beibehalten, damit ich es in .NET zum Signieren verwenden kann?

War es hilfreich?

Lösung

Oops, ich bin hinter der Zeit! Sieht aus wie X509Certificate2 PKCS # 12-Dateien lesen kann so für jede Konvertierung gibt es keine Notwendigkeit.

Andere Tipps

Zertifikate und Schlüssel werden separat im Allgemeinen gespeichert. Schneiden Sie die PEM-Datei in zwei Dateien, eine mit dem Zertifikat und einem mit dem Schlüssel. Anschließend können Sie den OpenSSL-Toolkit verwenden, um jede Datei einzeln in eine DER-Datei zu konvertieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top