Я пытаюсь установить set up a secure Docker Registry на две виртуальные машины (для HA) и задать вопрос о настройке SSL. По этой ссылке в документации, мне нужно иметь certs
каталог с двумя файлами в нем:Как конвертировать JKS в сертификат/ключ реестра Docker?
registry.crt
- СА Certregistry.key
- ??? (закрытый ключ?)
Мне предоставили Java JKS (хранилище ключей), в котором содержится сертификат CA подстановочного знака, который будет работать для этих виртуальных машин. Я был в состоянии успешно экспортировать сертификат из хранилища ключей, как так:
keytool -export -alias certalias -file registry.crt -keystore mycerts.jks
До сих пор так хорошо: у меня есть registry.crt
. Однако несколько связанных вопросов/проблем мешают мне выполнить эту установку:
- Что такое
*.key
файл, как это отличается от CERT, и как извлечь его из JKS? - Где находится Docker/Registry, ожидающий этого каталога
certs
на каждой виртуальной машине? Возможно/home/myuser/
? Является ли это местоположение настраиваемым?!? - Как поясняется ссылкой, требуется специальное дополнительное действие, если ваш сертификат CA является «посредником». Как я могу узнать, является ли мой сертификат посредником или нет?
Спасибо @musiKk (+1) - два быстрых наблюдения, если вы не возражаете: (1) будет ли это «экспортировать в PKCS12, а затем использовать OpenSSL для экспорта закрытого ключа *», если сертификат не является самоподписанным ? И (2) Я начинаю понимать, что такое посредник, но в чем их смысл? Почему бы просто не использовать хорошо известный самозаверяющий сертификат, подписанный CA0? Наверное, я просто не понимаю всю точку * «SSL cert ** chain **». Еще раз спасибо! – smeeb
@smeeb 1. Да, не имеет значения, как выглядит сертификат. 2. Быть абсолютно честным: понятия не имею. Я предполагаю, что это скорее организационная вещь, но я не знаю. – musiKk