Créer des certificats au format PEM

POSTÉ PAR Zevenet | 15 mars, 2016

APERÇU

Zen Load Balancer étant capable de gérer les connexions HTTPS (profil HTTP), l'administrateur système doit créer ses propres certificats (certificats auto-signés) ou acquérir des certificats signés auprès d'une autorité de certification. Dans les deux cas, le certificat doit être intégré. Format PEM.

Le certificat sécurisé doit être créé sans mot de passe et les clés et la CSR doivent être générés sur le serveur pour être sécurisés.

Les Positives SSL sont prêts à fonctionner au format PEM, mais Rapid SSL doit être converti car chaque fichier contient le certificat, l’autorité de certification intermédiaire et l’autorité de certification racine séparée.

EXIGENCES

Le paquet openssl doit être installé pour générer les clés sur le serveur. Dans notre cas, il s’agira de l’instance de Zen Load Balancer, qui devrait déjà être installée.

Commencez par générer la clé sans phrase secrète.

openssl genrsa -out host_domain_com.key 2048

Générez ensuite la demande de certificat signé (.csr) en utilisant la clé générée (.key) comme entrée.

openssl req -new -key host_domain_com.key -out host_domain_com.csr

Une fois que le certificat et les fichiers de l'autorité de certification intermédiaire sont livrés, veillez à obtenir le certificat racine de l'émetteur.

Tous les fichiers séparés doivent être au format PEM: certificat de serveur, certificat intermédiaire et certificat d'autorité de certification racine. Si ce n'est pas le cas, convertissez le fichier avec la commande suivante:

openssl x509 -in certFileName.cer -outform PEM -out convertedCertFileName.pem

Enfin, nous avons la clé privée, le certificat émis, le certificat intermédiaire et le certificat de l'autorité de certification racine. Tous ces contenus de fichiers doivent être combinés pour créer le fichier PEM au format UNIX.

GÉNÉRER UN CERTIFICAT AU FORMAT PEM

Le certificat PEM doit être construit avec la structure suivante.

-----BEGIN RSA PRIVATE KEY-----
Private Key (without passphrase)
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Certificate (CN=www.mydomain.com)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Intermediate (Intermediate CA, if exists)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Root (ROOT CA, who signs the Certificate)
-----END CERTIFICATE-----

Pour créer une structure PEM correcte, il est nécessaire de concaténer les différents contenus de fichiers générés à l'étape ci-dessus avec les séparations:

-----BEGIN RSA PRIVATE KEY-----
uiMTxBQnK9ApC5eq1mrBooECgYB4925pDrTWTbjU8bhb/7BXsjBiesBBVO43pDYL
1AOO5EEikir239UoFm6DQkkO7z4Nd+6Ier9fncpN1p1EZtqPxT64nsUTNow/z1Pp
nUVxhqt4DT+4Vp5S7D9FQ+HagbhVInQXKXtT7FNFhpIxpRy512ElSuWvrELiZOwe
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
wYDVR0fBDwwOjA4oDagNIYyaHR0cDovL3JhcGlkc3NsLWNybC5n
ZW90cnVzdC5jb20vY3Jscy9yYXBpZHNzbC5jcmwwHQYDVR0OBBYEFA8nu+rbiNqg
DYmhNE0IgXx6XRHiMAwGA1UdEwEB/wQCMAAwSQYIKwYBBQUHAQEEPTA7MDkGCCsG
gOYD8kmKOsxLRWeZo6Tn8
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js
Lmdlb3RydXN0LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDA0BggrBgEFBQcBAQQoMCYw
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
jOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

Il est obligatoire de convertir l'intégralité du fichier PEM au format UNIX.

Il est disponible le certificat nommé zencert.pem à des fins de test afin d'être utilisé avec les fermes de profils HTTPS.

Partager sur:

Documentation sous les termes de la licence de documentation libre GNU.

Cet article a-t-il été utile?

Articles Relatifs