Как объединить различные сертификаты в один.pem

Я только что закончил читать эту замечательную ветку, объясняющую различные форматы SSL.

Теперь я по существу ищу противоположность Как разделить файл PEM

Есть 4 файла, которые я хочу объединить, изначально созданные для Apache, я смотрю на файлы, указанные

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

Что меня больше всего интересует, так это порядок файлов в консолидированном деривативе, это важно? НАПРИМЕР. если бы я просто cat они вместе в том порядке, в котором они указаны выше, в .pem, будет ли это допустимым, или они должны быть заказаны определенным образом?

К вашему сведению, я делаю это ради использования этих сертификатов как объединенного единственного .pem в SimpleSAMLphp.

2 ответа

Решение

Порядок имеет значение, в соответствии с RFC 4346.

Вот цитата, взятая непосредственно из 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.

На основании этой информации сначала должен стоять сертификат сервера, затем любые промежуточные сертификаты и, наконец, корневой сертификат доверенного органа (если он самоподписан). Я не смог найти никакой информации о закрытом ключе, но я думаю, что это не должно иметь значения, потому что закрытый ключ в pem легко идентифицировать, поскольку он начинается и заканчивается текстом ниже, который имеет ключевое слово PRIVATE в этом.

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

Вот команда для объединения с помощью cat

cat first_cert.pem second_cert.pem > combined_cert.pem
Другие вопросы по тегам