Комментарии 5
хотелось чтобы подпись работала по принципу обычных x509 сертификатов но без валидации срока действия
вроде бы подписывание кода/ПО/скриптов всегда так и работало, без валидации срока - на Windows, MacOS, древнее ПО и драйверы прекрасно продолжает устанавливаться и работать будучи подписанным давно "протухшими" сертификатами
Идея заключалась в следующем: взять чексумму образа, выдать сертификат с commonName эквивалентным чексумме
Не очень понял: как вы пришли к этой идее вместо традиционного подписывания?
Я только не понял, а где сам выданный сертификат находиться раз в образ его решили не класть?
P.S. Есть комментарий к imagePullPolicy: always
- эта политика проверяет по хэш сумме и скачивает образ только и только тогда когда образа с такой хэш суммой нет на ноде, на которой запускается под. В любом cis по kubernetes явно указано что необходимо избегать лейблов и использовать хэш для контроля целостности.
// Я только не понял, а где сам выданный сертификат находиться раз в образ его решили не класть?
создается дополнительный тэг dia-<sha256sum> в котором и хранит публичную часть ключа.
т.е. в репозитории у вас кроме основного образа, образ с сертификатом
registry.local/alpine:latest
registry.local/alpine:dia-284dffdsf34829fdsffjsdlf38438
В реестре по факту x2 тэгов. Во втором у вас только серт и он очень легкий(
FROM scratch
ADD cert.pem)
always
- эта политика проверяет по хэш сумме и скачивает образ только и только тогда когда образа с такой хэш суммой нет на ноде, на которой запускается под.
Да, я и написал:
Если у вас все запускается по чексуммам, можете не париться....
Однако, часто(а на моей практике как правило) наш брат хочет запускать все по тэгам, ввиду особенностей CI\CD, удобство и т.п..
Я разработал свой keyless продукт для удостоверения Docker образов — DIA