Добавление сертификатов Let's Encrypt в debian: изображение 9 docker - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу создать образ на основе debian:9 и добавить зашифрованные сертификаты по следующим ссылкам:

https://letsencrypt.org/certs/isrgrootx1.pem.txt

https://letsencrypt.org/certs/trustid-x3-root.pem.txt

Afaik, они должны быть преобразованы в формат .crt, поэтому я запускаю:

▶ openssl x509 -in isrgrootx1.pem -inform PEM -out isrgrootx1.crt
▶ openssl x509 -in trustid-x3-root.pem -inform PEM -out trustid-x3-root.crt

Затем я строю изображение, используя следующие Dockerfile

FROM debian:9

RUN mkdir -p /usr/share/ca-certificates/extra


RUN apt-get update && apt-get install ca-certificates -y --no-install-recommends

COPY isrgrootx1.crt /usr/share/ca-certificates/extra/isrgrootx1.crt
COPY trustid-x3-root.crt /usr/share/ca-certificates/extra/trustid-x3-root.crt

RUN update-ca-certificates

однако в конце сборки я не вижу дополнительных сертификатов:

Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.

Более того, перечисляя их внутри работающего контейнера с помощью этой команды

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

Я не вижу установленных сертификатов Let's Encrypt.

Я пропустил какой-либо шаг?

1 Ответ

1 голос
/ 24 февраля 2020

Я считаю, что вы хотите путь /usr/local/share/ca-certificates. Следующее показывает, что добавляются 2 сертификата:

FROM debian:9

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      ca-certificates \
      openssl \
 && mkdir -p /usr/local/share/ca-certificates

ADD https://letsencrypt.org/certs/isrgrootx1.pem.txt /usr/local/share/ca-certificates/isrgrootx1.pem
ADD https://letsencrypt.org/certs/trustid-x3-root.pem.txt /usr/local/share/ca-certificates/trustid-x3-root.pem

RUN cd /usr/local/share/ca-certificates \
 && openssl x509 -in isrgrootx1.pem -inform PEM -out isrgrootx1.crt \
 && openssl x509 -in trustid-x3-root.pem -inform PEM -out trustid-x3-root.crt \
 && update-ca-certificates

Обратите внимание, что загруженные сертификаты не говорят, что позволяет шифровать в теме:

root@4544afdd06e3:/# openssl x509 -noout -subject </usr/local/share/ca-certificates/isrgrootx1.pem
subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1
root@4544afdd06e3:/# openssl x509 -noout -subject </usr/local/share/ca-certificates/trustid-x3-root.pem
subject=O = Digital Signature Trust Co., CN = DST Root CA X3
...