Несколько пакетов сертификатов SSL?

Моя компания хочет использовать два разных типа SSL-сертификатов для нашего веб-сайта: один использует RSA, а другой — ECDSA. Причина в том, что внешние службы, которые используют наш сайт, используют очень старый код, поэтому для совместимости нам нужно иметь оба.

EDIT: мы используем Apache 2.4, и оба сертификата принадлежат одному и тому же центру. Таким образом, приведенные ниже корневые ЦС одинаковы, но промежуточные звенья различаются из-за разницы между RSA и ECDSA.

Наша конфигурация Apache будет следующей:

### RSA cert
SSLCertificateFile          /etc/ssl/certs/website_com_rsa.crt
SSLCertificateKeyFile       /etc/ssl/private/website_com_rsa.key

### ECDSA cert for compatibility
SSLCertificateFile          /etc/ssl/certs/website_com_ecdsa.crt
SSLCertificateKeyFile       /etc/ssl/private/website_com_ecdsa.key

### RSA/ECDSA cert bundle
SSLCertificateChainFile /etc/ssl/certs/website_com.ca-bundle

Часть, в которой я не уверен, - это комплект CA. Мои вопросы:

  1. Могу ли я использовать две разные директивы SSLCertificateChainFile, по одной для каждого типа (RSA и ECDSA)?
  2. Если я не могу, то как объединить пакеты CA из двух разных пакетов сертификатов в один файл? Скажем, у меня есть два файла пакетов CA, которые имеют следующий порядок:

Набор RSA

-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----

Пакет ECDSA

-----BEGIN CERTIFICATE-----
...
<ecdsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<ecdsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----

В каком порядке их следует объединять?


person Scott Crooks    schedule 23.02.2016    source источник


Ответы (1)


Из документов Apache 2.4 для SSLCertificateChainFile следует, что вы предоставить отдельные цепочки в файлах, настроенных с помощью SSLCertificateFile, т. е. объединяя сертификат сервера с соответствующей цепочкой сертификатов в одном файле.

Например, ваш /etc/ssl/certs/website_com_rsa.crt может содержать несколько сертификатов, начиная с сертификата сервера и заканчивая корнем:

-----BEGIN CERTIFICATE-----
...
<website-com-rsa>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----

И аналогично для вашего файла /etc/ssl/certs/website_com_ecdsa.crt. Это означало бы не использование SSLCertificateChainFile.

Надеюсь это поможет!

person Castaglia    schedule 23.02.2016