Я использую свой собственный центр сертификации для создания сертификатов SSL для услуг в моей инфраструктуре. Эти сертификаты подписываются непосредственно моим центром сертификации.
Мне приходит в голову, что это, вероятно, слабая стратегия, так как если сертификат должен быть скомпрометирован, мне нужно создать новые из одного CA. Если CA будет скомпрометирован, игра будет окончена, поскольку все службы необходимо будет обновить.
Итак, я понимаю, что типичный способ `` защитить '' себя и `` ослабить '' беспокойство - это создать цепочку сертификатов и подписать сертификаты служб концом цепочки, чтобы в случае компрометации подписывающей стороны перейти на следующий уровень. можно использовать для создания нового сертификата подписи.
Я правильно понимаю?
Тогда я бы хотел создать свою собственную цепочку сертификатов.
Весь материал TLS / SSL для меня все еще немного туманный, но, как я вижу, сначала нужно создать главный ключ с openssl genrsa
затем создайте самозаверяющий сертификат, используя этот ключ с openssl req -x509 -new
для создания CA.
Затем я могу создавать новые ключи и запросы на подпись сертификатов с помощью openssl req -new -key' and sign the request with my CA with
openssl x509 -req -CA ca.pem ... `
Итак, что мне нужно сделать, чтобы создать цепочку сертификатов?
Могу ли я просто создать новый ключ, новый запрос на подпись и подписать его последним подписанным сертификатом вместо ЦС? И так до тех пор, пока у меня не будет достаточного уровня защиты, а затем подписать все пары сертификат / ключ сертификатом самого низкого уровня?
Это сбивает с толку, и я бы хотел разобраться ;-)
Все, что я нахожу только о TLS, чрезвычайно сложно, в то время как «простые» руководства неясны. Я просматриваю man-страницы openssl, но я хотел бы получить простое объяснение процесса, а затем обязательно сделаю каждый шаг правильно.
Спасибо за понимание.
Вы подписываете промежуточный запрос CA с корневым CA. С этим центром сертификации подписи корневой ЦС может оставаться в автономном режиме.
Корневому ЦС по-прежнему можно доверять и при необходимости выдавать заменяющие подписывающие ЦС. Тогда проблема заключается в выдаче отзыва сертификатов, особенно если вы не контролируете всех клиентов.
Если вы делаете это вручную, процесс несколько усложняется. Видеть https://jamielinux.com/docs/openssl-certificate-authority/ для гида.
Похоже, много суеты, когда Let's Encrypt находится в публичной бета-версии ...