IBM Cloud Docs
Pourquoi ne puis-je pas importer mon fichier de certificat ?

Pourquoi ne puis-je pas importer mon fichier de certificat ?

Vous essayez d'utiliser IBM Cloud® Secrets Manager pour importer un certificat SSL/TLS, mais vous ne pouvez pas exécuter l'action.

Vous avez un certificat TLS non expiré que vous souhaitez stocker dans Secrets Manager. Lorsque vous tentez d'importer le fichier à l'aide de l'interface utilisateur Secrets Manager, l'erreur suivante est générée :

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

Vous tentez également d'importer le fichier à l'aide de l'API Secrets Manager, mais vous obtenez l'erreur suivante :

Unable to parse the certificate

Secrets Manager prend uniquement en charge les fichiers de certificat X.509 au format .pem. Le certificat que vous utilisez n'est peut-être pas dans ce format. Par exemple, les certificats X.509 peuvent avoir différents types d'extension de fichier, parmi lesquels :

  • Certificat (.crt) ou (.cer)
  • Règles de codage distinctif (.der)
  • Email avec confidentialité renforcée (.pem)

Pour résoudre ce problème, assurez-vous que votre fichier de certificat est au format pris en charge avant de l'importer dans Secrets Manager.

  1. Utilisez l'utilitaire openssl pour convertir un certificat X.509 au format .pem.

    Pour convertir un fichier .crt en .pem, exécutez la commande suivante :

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

    Pour convertir un fichier .cer en .pem, exécutez la commande suivante :

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

    Pour convertir un fichier .der en .pem, exécutez la commande suivante :

    openssl x509 -in cert.der -out cert.pem
    
  2. Facultatif : si vous utilisez l'API Secrets Manager pour importer votre certificat, assurez-vous que les données sont formatées correctement.

    Vous pouvez utiliser la commande UNIX suivante pour formater votre fichier .pem en une chaîne d'une seule ligne pouvant être transmise à l'API Secrets Manager :

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