Konvertierung SSL-Zertifikate mit OpenSSL…

Vor einiger Zeit hatte ich eine Anleitung zur Einrichtung eines SSL-Zertifkates für die Sophos UTM erstellt. Ab und zu habe ich Anfragen, wie man die Zertifikate auch für andere Komponenten umwandeln kann.

Da ich selbst nicht so oft irgendwelche Zertifikate konvertieren muss, habe ich für mich selbst eine kleine Referenz erstellt.

Ausgangslage ist das Zertifkat in Base64 certificate.crt und die keyfile.key, die den privaten Schlüssel enthält.

Um das Zertifikat zu PKCS#12 *.p12 oder *.pfx zu konvertieren benutz man folgende Anweisung:

openssl pkcs12 -export -in certificate.crt -inkey keyfile.key -out certificate.p12
openssl pkcs12 -export -in certificate.crt -inkey keyfile.key -out certificate.pfx

Die Umwandlung von *.p12 zu *.pem wird nachfolgend durchgeführt:

openssl pkcs12 -in certificate.p12 -nodes -out certificate.pem

Solltet Ihr das Zertifikat zu PKCS#7 *.p7b oder *.cer benötigen könnt Ihr das Zertifkat so konvertieren:

openssl crl2pkcs7 -certfile certificate.pem -nocrl -outform PEM -out certificate.p7b
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

In binärer Form DER setzt man diesen Befehl ab:

openssl x509 -outform der -in certificate.pem -out certificate.der

Mit den genannten Konvertierungsanweisungen sollte man durch geschickte Kombination an sein gewünschtes Ziel kommen.

Thorsten Sult

Keine gewerbliche Nutzung und keine Werbung! Sämtliche Inhalte unterliegen dem Urheberrecht. Sollten Euch meine Artikel geholfen haben, wäre ich sehr dankbar für einen Kommentar. Gerne auch anonym.

Dieser Beitrag hat 3 Kommentare

  1. Anonymous

    Passt, danke!

  2. Anonymous

    Hallo Herr Sult,

    ich versuche ein Zertifikat in Exchange zu importieren, bekomme es aber nicht hin. Können Sie witer helfen?

    1. Thorsten Sult

      Moin,

      danke für Deinen Kommentar! Logo kann ich! Bitte das Zertifikat zu *.pfx konvertieren:
      openssl pkcs12 -export -in certificate.crt -inkey keyfile.key -out certificate.pfx

      Anschließend via Exchangeshell importieren:
      Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\Zertifikat.pfx -Encoding byte -ReadCount 0)) -Password (Con
      vertTo-SecureString -String 'Dein Paswort' -AsPlainText -Force) | Enable-ExchangeCertificate -Services "IIS,POP,IMAP,SMTP"

Schreibe einen Kommentar