Warum kann ich meine Zertifikatsdatei nicht importieren?

Sie versuchen, IBM Cloud® Secrets Manager zum Importieren eines SSL/TLS-Zertifikats zu verwenden, aber Sie können die Aktion nicht ausführen.

Sie verfügen über ein nicht abgelaufenes TLS-Zertifikat, das Sie in Secrets Manager speichern möchten. Wenn Sie versuchen, die Datei über die Secrets Manager-Benutzerschnittstelle zu importieren, erhalten Sie den folgenden Fehler:

Add secret failed
An error occurred and the secret couldn't be added.

Sie versuchen auch, die Datei mit der Secrets Manager-API zu importieren, aber Sie erhalten den folgenden Fehler:

Unable to parse the certificate

Secrets Manager unterstützt nur X.509-Zertifikatsdateien im Format .pem. Sie können jedoch mit einem Zertifikat arbeiten, das sich in einem anderen Dateiformat befindet. X.509-Zertifikate können z. B. eine Vielzahl von Dateierweiterungstypen aufweisen, einschließlich:

  • Zertifikat (.crt) oder (.cer)
  • Definierte Codierungsregeln (.der)
  • .pem (E-Mail mit erhöhtem Datenschutz)

Um das Problem zu beheben, stellen Sie sicher, dass Ihre Zertifikatsdatei im unterstützten Format vorliegt, bevor Sie sie in Secrets Manager importieren.

  1. Verwenden Sie das Dienstprogramm openssl, um ein X.509-Zertifikat in das .pem-Format zu konvertieren.

    Führen Sie den folgenden Befehl aus, um eine .crt-Datei in .pem zu konvertieren:

    openssl x509 -in cert.crt -out cert.pem
    

    Führen Sie den folgenden Befehl aus, um eine .cer-Datei in .pem zu konvertieren:

    openssl x509 -in cert.cer -out cert.pem
    

    Führen Sie den folgenden Befehl aus, um eine .der-Datei in .pem zu konvertieren:

    openssl x509 -in cert.der -out cert.pem
    
  2. Optional: Wenn Sie die Secrets Manager-API zum Importieren Ihres Zertifikats verwenden, stellen Sie sicher, dass die Daten ordnungsgemäß formatiert sind.

    Sie können den folgenden UNIX-Befehl verwenden, um Ihre Datei .pem in eine einzeilige Zeichenfolge zu formatieren, die an die Secrets Manager-API übergeben werden kann:

    awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' cert.pem