Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

[toc]

1. 用docker進行查看

進入容器,
docker run -it alpine:latest /bin/sh

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

安裝curl,
apk --no-cache add curl

對比發現curl依賴ca-certificates,
Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

網上查到update-ca-certificates命令爲更新系統ca證書,

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書
Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

2. 添加CA證書

經過操作總結,發現有2種方式添加ca證書至系統內,以下示例:

2.1 放至目錄/usr/local/share/ca-certificates/

將Let's Encrypt Authority X3的CA證書Letsencrypt_Root_CA.crt放至目錄/usr/local/share/ca-certificates/下,並執行update-ca-certificates,即可完成證書更新。

-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

2.2 放至目錄/usr/share/ca-certificates/

將Let's Encrypt Authority X3的CA證書Letsencrypt_Root_CA.crt放至目錄/usr/share/ca-certificates/下,在文件/etc/ca-certificates.conf中配置引用路徑,並執行update-ca-certificates,即可完成證書更新。

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書
Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

3. 小結

從curl命令過程可以看出,/etc/ssl/certs/ca-certificates.crt是最終生效的CA文件,因此,可以將CA證書的內容直接添加進此文件。update-ca-certificates其實也就是乾的這件事,在沒有此命令時,直接添加內容至CA文件中是最好的選擇。

Alpine Linux添加Let's Encrypt CA證書或者自籤CA證書

以下是gitlab-runner不支持letsencrypt證書解決辦法:

Dockerfile

FROM gitlab/gitlab-runner:alpine-v11.11.2

USER root
COPY Letsencrypt_Root_CA.crt /usr/local/share/ca-certificates/
RUN apk --no-cache add ca-certificates \
  && rm -rf /var/cache/apk/* \
  && update-ca-certificates

USER gitlab-runner
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章