Alibaba Cloud CDN accepte les certificats et les clés privées uniquement au format PEM. Cette rubrique décrit les exigences de format pour chaque type de certificat et explique comment convertir les certificats DER, P7B (PKCS#7) et PFX (PKCS#12) au format PEM.
Avant le téléchargement
Avant de télécharger votre certificat et votre clé privée, assurez-vous qu'ils respectent toutes les exigences suivantes :
|
Exigence |
Détails |
|
Format |
Encodé au format PEM |
|
Longueur des lignes |
Chaque ligne, à l'exception de la dernière, contient exactement 64 caractères |
|
Aucun espace |
Aucun caractère d'espace entre les marqueurs |
|
Ordre de la chaîne de certificats |
Certificat serveur en premier, suivi des certificats intermédiaires (autorité de certification intermédiaire uniquement) |
Certificats émis par une autorité de certification racine
Les certificats d'autorité de certification racine sont compatibles avec les serveurs web tels qu'Apache, IIS, NGINX et Tomcat. Les certificats SSL utilisés par CDN adoptent un format compatible avec NGINX. Le fichier de certificat porte l'extension .crt et le fichier de clé privée l'extension .key.
Ouvrez le fichier .crt dans un éditeur de texte pour afficher le contenu du certificat.
Le certificat doit correspondre à la structure suivante :
Commence par
-----BEGIN CERTIFICATE-----Se termine par
-----END CERTIFICATE-----Chaque ligne, sauf la dernière, contient exactement 64 caractères ; la dernière ligne peut contenir 64 caractères ou moins
Téléchargez l'intégralité du contenu, depuis -----BEGIN CERTIFICATE----- jusqu'à -----END CERTIFICATE-----.
Certificats émis par une autorité de certification intermédiaire
Si votre certificat est émis par une autorité de certification intermédiaire, téléchargez la chaîne complète de certificats : le certificat serveur et tous les certificats intermédiaires combinés dans un seul fichier.
-----BEGIN CERTIFICATE-----
(server certificate content)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate content)
-----END CERTIFICATE-----
Le certificat serveur doit figurer en premier, suivi des certificats intermédiaires. N'ajoutez aucun espace entre les certificats. Tous les certificats doivent être au format PEM.
Pour assembler la chaîne, ouvrez chaque fichier .pem dans un éditeur de texte et collez le contenu dans l'ordre : d'abord le bloc du certificat serveur, puis immédiatement chaque bloc de certificat intermédiaire, sans espace entre eux.
Format de clé privée RSA
Le fichier de clé privée porte l'extension .pem ou .key. Ouvrez-le dans un éditeur de texte pour afficher son contenu.
Une clé privée RSA valide doit :
Commencer par
-----BEGIN RSA PRIVATE KEY-----Se terminer par
-----END RSA PRIVATE KEY-----Avoir chaque ligne (sauf la dernière) contenant exactement 64 caractères
Générer une nouvelle clé privée RSA
Exécutez la commande suivante pour générer une clé privée RSA de 2048 bits. La sortie est enregistrée dans privateKey.pem.
openssl genrsa -out privateKey.pem 2048
Convertir une clé privée commençant par -----BEGIN PRIVATE KEY-----
Si votre clé privée commence par -----BEGIN PRIVATE KEY----- au lieu de -----BEGIN RSA PRIVATE KEY-----, convertissez-la avec OpenSSL avant de la télécharger :
openssl rsa -in old_server_key.pem -out new_server_key.pem
Téléchargez le contenu de new_server_key.pem avec votre certificat.
Exigences relatives à la longueur des clés
La plage de longueurs de clés privées RSA prises en charge par CDN est la suivante :
Les clés RSA inférieures à 2048 bits (telles que 1024 bits) sont considérées comme non sécurisées et peuvent être rejetées par la validation backend.
-
Utilisez 2048 bits ou 4096 bits. Générez une clé avec
openssl genrsa -out privateKey.pem 2048ou remplacez
2048par4096. CDN prend également en charge les certificats ECC (Elliptic Curve Cryptography). Les types de courbes ECC courants incluent prime256v1 (secp256r1) et secp384r1. Générez une clé privée ECC avec :
openssl ecparam -genkey -name prime256v1 -out ecc_key.pem
La longueur maximale exacte des clés et la prise en charge des courbes ECC dépendent de la validation de l'API backend de CDN. Si vous rencontrez des erreurs de format liées aux clés lors du téléchargement, essayez de régénérer une clé RSA standard de 2048 bits ou une clé ECC prime256v1.
Convertir les formats de certificat
CDN n'accepte que les certificats au format PEM. Utilisez OpenSSL pour convertir à partir d'autres formats.
Un fichier.crtpeut être au format PEM ou DER (Distinguished Encoding Rules). Ouvrez-le dans un éditeur de texte — si vous voyez-----BEGIN CERTIFICATE-----, il est déjà au format PEM et aucune conversion n'est nécessaire. PEM est un format texte encodé en Base64 ; les fichiers de clé privée au format PEM utilisent l'extension.key.
DER vers PEM
DER est couramment utilisé sur les plateformes Java.
Convertissez le certificat :
openssl x509 -inform der -in certificate.cer -out certificate.pem
Convertissez la clé privée :
openssl rsa -inform DER -outform pem -in privatekey.der -out privatekey.pem
P7B (PKCS#7) vers PEM
P7B est couramment utilisé sur Windows Server et Tomcat.
Convertissez le certificat :
openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer
Ouvrez outcertificate.cer et copiez le bloc de -----BEGIN CERTIFICATE----- à -----END CERTIFICATE-----. Téléchargez uniquement ce bloc.
Les fichiers P7B ne contiennent pas de clé privée. Lors de la configuration de votre certificat SSL dans la console CDN, saisissez uniquement le contenu du certificat et laissez le champ de clé privée vide.
PFX (PKCS#12) vers PEM
PFX est couramment utilisé sur Windows Server.
Convertissez le certificat :
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
Convertissez la clé privée :
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
Prise en charge des algorithmes de signature
Les algorithmes de signature pris en charge par CDN dépendent des règles de validation de l'API backend. Vous trouverez ci-dessous une référence de compatibilité pour les algorithmes de signature courants :
-
Algorithmes de signature recommandés :
SHA-256 avec RSA (sha256WithRSAEncryption)
SHA-384 avec RSA
SHA-512 avec RSA
ECDSA avec SHA-256 (pour les certificats ECC)
-
Non recommandé :
SHA-1 avec RSA : SHA-1 a été marqué comme non sécurisé par les principaux navigateurs, et certaines validations backend peuvent rejeter les certificats signés avec SHA-1.
La console CDN n'effectue pas de validation de l'algorithme de signature sur le frontend. La compatibilité de l'algorithme de signature est entièrement déterminée par l'API backend. Si vous recevez une erreur lors du téléchargement d'un certificat utilisant un algorithme de signature peu courant, réémettez le certificat en utilisant SHA-256 avec RSA ou un algorithme plus sécurisé.
Vous pouvez vérifier l'algorithme de signature de votre certificat avec :
openssl x509 -in your_cert.pem -noout -text | grep "Signature Algorithm"
La sortie devrait ressembler à Signature Algorithm: sha256WithRSAEncryption.