Выбор новейшего сертификата в папке с заданным именем субъекта

Я рассматриваю ротацию сертификатов на виртуальной машине Linux Azure CRP или в пуле VMSS. Самый простой способ (устанавливаемый CRP из хранилища ключей) для их развертывания помещает все сертификаты в одну папку (/var/lib/waagent) с именем {thumbprint}.prv для ключа и {thumbprint}.crt для сертификата. Когда я хочу добавить новый сертификат, я могу запустить команду, которая добавит новый сертификат в ту же папку.

В настоящее время я ищу работу, наблюдая за папкой и проверяя, есть ли у субъекта имя нового сертификата, и когда он выполняет циклические процессы, которые зависят от имени субъекта, указывающего им на новый сертификат . Я знаю, что могу использовать openssl с командой типа:
sudo openssl x509 -inform PEM -in /var/lib/waagent/{thumbprint}.pem -subject -enddate -noout
Чтобы получить имя субъекта и срок годности. Затем мне пришлось бы отслеживать для каждого возвращенного имени субъекта, у какого сертификата самая дальняя дата истечения срока действия в будущем. сертификат, который будет действовать дольше всего для данного имени субъекта. Как это обрабатывается на большинстве Linux-серверов? Есть ли лучший способ узнать это, чем просто запустить скрипт bash, который я запускаю каждые t секунд, в котором говорится, что теперь у нас есть новый сертификат для имен субъектов x y z, поэтому перезапустите процессы a b c только настройте их для использования новые сертификаты j k l?


person Jack Quincy    schedule 07.12.2016    source источник
comment
В итоге я решил быть более преднамеренным в обновлении своих сертификатов/необходимо повторно развернуть мою службу для обновления сертификата. Я сделал свою логику обновления сертификата ортогональной остальной части моего сервиса, поэтому они должны быть довольно безболезненными. Таким образом, я могу явно выбрать правильный сертификат. Я также переместил загрузку сертификата из CRP в собственный сценарий во время выполнения. Для загрузочной загрузки я использую службу, которую Prinicpal kubernetes использует для работы в сети и т. д.   -  person Jack Quincy    schedule 11.01.2017


Ответы (1)


Есть ли лучший способ узнать это, чем просто запустить скрипт bash, который я запускаю каждые t секунд, в котором говорится, что теперь у нас есть новый сертификат для имен субъектов x y z, поэтому перезапустите процессы a b c только настройте их для использования новые сертификаты j k l?

Насколько я знаю, скрипт более гибкий, чем при использовании существующих инструментов. Кажется, вы ищете инструмент управления сертификатами в Linux. Мое предложение - написать свой собственный сценарий. Кстати, существует несколько коммерческих решений, которые позволяют клиентам Linux зарегистрировать сертификат на сервере ЦС на базе Windows Server.

person Steven Lee - MSFT    schedule 09.12.2016