Come combinare vari certificati in un unico .pem


35

Ho appena finito di leggere questo fantastico thread che spiega i diversi formati SSL.

Ora sto essenzialmente cercando l'opposto di Come dividere un file PEM

Ci sono 4 file che voglio consolidare, originariamente creati per Apache, sto guardando i file specificati da

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

Quello che mi incuriosisce di più è l'ordine dei file nel dereivativo consolidato, è importante? PER ESEMPIO. se dovessi solo catmetterli insieme nell'ordine in cui compaiono sopra, in un .pem , sarebbe valido o dovrebbero essere ordinati in un modo specifico?

Cordiali saluti, lo sto facendo per usare queste certs come un unico .pem combinato in SimpleSAMLphp .


L'ordine dovrebbe essere chiave privata, certificati intermedi, certificato.
Zoredache,

Che dire della CA, non è quella la radice della catena, e quindi andrebbe dopo la catena nel file consolidato? O può essere omesso del tutto?
cambio rapido

Sembra facoltativo , lo farò senza per ora.
cambio rapido

Risposte:


43

L'ordine è importante, secondo RFC 4346 .

Ecco una citazione presa direttamente dalla 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.

Sulla base di queste informazioni, il certificato del server dovrebbe venire prima, seguito da eventuali certificati intermedi e infine dal certificato dell'autorità di certificazione radice (se autofirmato). Non sono riuscito a trovare alcuna informazione sulla chiave privata, ma penso che non dovrebbe importare perché una chiave privata in pem è facile da identificare in quanto inizia e termina con il testo seguente, che contiene la parola chiave PRIVATE.

 -----BEGIN RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----

2
cat site.crt root.crt site.key> site.pem
curveorzos

6

Ecco il comando da combinare usando cat

cat first_cert.pem second_cert.pem > combined_cert.pem

3
È una risposta su come concatenare due certificati, ma non su come consolidare / concatenare i certificati per Apache.
asdmin,

Questo non è proprio per rispondere alla domanda, la risposta accettata è abbastanza buona. Fornisco solo ulteriori informazioni su come concatenare, mentre il poster originale parlava dell'uso di cat, pensavo che potesse aiutare gli altri.
tidileboss,

2
La tua risposta non indica in quale ordine devono essere concatenati i file (hai solo "first_cert.pem" e "second_cert.pem"). La risposta corretta sarebbecat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
Doktor J,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.