web-dev-qa-db-fra.com

Comment combiner différents certificats en un seul .pem

Je viens de terminer la lecture de ce super fil expliquant les différents formats SSL.

Maintenant, je cherche essentiellement l'opposé de Comment diviser un fichier PEM

Il y a 4 fichiers que je veux consolider, créés à l'origine pour Apache, je regarde les fichiers spécifiés par

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

Ce qui m'intéresse le plus, c'est l'ordre des fichiers dans la dérivée consolidée, est-ce important? PAR EXEMPLE. si je devais les cat ensemble dans l'ordre où ils apparaissent ci-dessus, dans un . pem , serait-il valide, ou devrait-il ils doivent être commandés d'une manière spécifique?

Pour info, je fais cela dans le but d'utiliser ces certificats comme un seul combiné . Pem dans SimpleSAMLphp .

39
quickshiftin

L'ordre importe, selon RFC 4346 .

Voici un devis directement extrait du RFC:

  certificate_list
    This is a sequence (chain) of X.509v3 certificates.  The sender's
    certificate must come first in the list.  Each following
    certificate must directly certify the one preceding it.  Because
    certificate validation requires that root keys be distributed
    independently, the self-signed certificate that specifies the root
    certificate authority may optionally be omitted from the chain,
    under the assumption that the remote end must already possess it
    in order to validate it in any case.

Sur la base de ces informations, le certificat de serveur doit venir en premier, suivi des certificats intermédiaires et enfin du certificat d'autorité de confiance racine (s'il est auto-signé). Je n'ai pas pu trouver d'informations sur la clé privée, mais je pense que cela n'a pas d'importance car une clé privée dans pem est facile à identifier car elle commence et se termine par le texte ci-dessous, qui contient le mot-clé PRIVATE .

 -----BEGIN RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----
48
Daniel t.

Voici la commande à combiner en utilisant cat

cat first_cert.pem second_cert.pem > combined_cert.pem
6
tidileboss