Alpine Linux添加Let‘s Encrypt CA证书或者自签CA证书

Alpine Linux添加Let‘s Encrypt CA证书或者自签CA证书

[toc]

1. 用docker进行查看

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

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

对比发现curl依赖ca-certificates,

网上查到update-ca-certificates命令为更新系统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-----

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,即可完成证书更新。


3. 小结

从curl命令过程可以看出,/etc/ssl/certs/ca-certificates.crt是最终生效的CA文件,因此,可以将CA证书的内容直接添加进此文件。update-ca-certificates其实也就是干的这件事,在没有此命令时,直接添加内容至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

原文地址:https://blog.51cto.com/ygqygq2/2414401

时间: 2024-10-08 11:39:32

Alpine Linux添加Let‘s Encrypt CA证书或者自签CA证书的相关文章

Let's Encrypt,免费好用的 HTTPS 证书

#参考https://imququ.com/post/letsencrypt-certificate.html#####argparse安装#http://www.cnblogs.com/emanlee/p/4577249.html 很早之前我就在关注 Let's Encrypt 这个免费.自动化.开放的证书签发服务.它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务,而 ISRG 是来自于美国加利福尼亚州的一个公益组织.Let's E

Windows AD证书服务系列---部署CA(3)

实验目的:部署独立根CA和企业从属CA,并设置组策略发布根证书 实验环境: LON-DC1  域控        Win2012R2  172.16.0.10 LON-SVR1 非域服务器  Win2012R2  172.16.0.21 实验步骤: 一.在LON-SVR1上安装证书服务角色 用本地管理员账号登入LON-SVR1,并通过Server Manager或Powershell添加Active Directory证书服务 在服务器管理器中,点击右上角的提示,去配置ADCS角色 点击"配置目

Active Direcyory之证书颁发机构(CA服务器)

今天给大家带来的是CA服务器,全称是证书颁发机构,那么,哪里需要用到AC服务器呢?这里就要说一下https了,https(全称:Hyper Text Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版. 今天的示例有两个: 示例一: 部署企业内部CA服务器 示例二: 实现安全的WEB站点 先给大家说一下今天的实验环境,两台服务器server01,server02,server01为域控制器,CA服务器,DNS服务器,server02为W

Active Direcyory之证书颁发机构(CA服务器)升级

前几次给大家介绍过CA服务器的部署于使用,今天给大家介绍一下,CA服务器的升级 首先说一下,今天的实验环境,本次实验室CA的升级,从Windows server 2003升级到Windows server 2012,本次实验,需要三台服务器,一台是2003,安装CA,一台做域控制器,一台做升级后的CA服务器. 实验准备: server01:域控制器(windows server 2012) server02:升级后的CA服务器(windows server 2012) server06:升级前的

Windows AD证书服务系列---部署CA(2)

AD CS中基于角色的管理使得管理员可以将用户和群组委派给预先设定好权限的内建CA角色.每个角色能够执行某个或某类已设定好的任务,下表中标识出了基于角色管理的角色和群组的详细信息: 角色/组 用途 信息 CA管理员 管理CA 在CA控制台指派 证书管理员 颁发和管理证书 在CA控制台指派 备份操作员 备份和还原文件及目录 操作系统角色 审计员 管理审计和安全性方面的事件日志 操作系统角色 注册者 读取和注册 有权限申请证书 基于角色的管理结合了操作系统角色和AD CS角色,为CA提供了一个完整的

Linux运维之加密/解密原理、自建CA及搭建基于https的Apache

上几次博文我们具体讨论了Apache(httpd)的基础知识: HTTP协议基础(参见博文:http://sweetpotato.blog.51cto.com/533893/1656137) Apache2.2的基本配置(参见博文:http://sweetpotato.blog.51cto.com/533893/1657668) Apache2.2的虚拟主机(参见博文:http://sweetpotato.blog.51cto.com/533893/1660229) 本次博文我们具体讨论下加密/

CA服务器的搭建和申请证书

目的:搭建一个CA服务器并给客户机授权认证 准备: ?? 1. 一台linux操作系统(以centos7虚拟机为例) ?? 2. 准备一台客户机(centos6虚拟机) 先上一张思维导图吧. 步骤 一.CA服务器创建. ?? 1. CA服务器我们用centos7来建立,先申请该服务器的私钥,注意路径,我们要把文件放在/etc/pki/CA/private下 ?? 2. 利用刚刚建立好的私钥生成自签名证书,注:CA的证书是自己给自己签名的. ?? 查看自签名证书??导入到windows系统中修改后

由于Bug,Let‘s Encrypt决定吊销300多万张证书!

公益型数字证书颁发机构(CA) Let's Encrypt 不久前宣布,于(世界标准时间UTC)3月4日起撤销3,048,289张有效SSL/TLS 证书,并向受影响的客户发邮件告知,以便其及时更新.为避免用户业务中断,Let's Encrypt 建议用户在3月4日前更换受影响的证书,否则网站访客会看到一个与证书失效有关的安全警告. 由于事发的突然性和时区问题,以及因为免费证书导致本身服务能力较弱,Let's Encrypt只给一些公司不到2小时的通知,仅通知到其中极少部分的用户. 据统计,由于

CA如何吊销签署过的证书

1: 客户端获取要吊销证书的serial(在使用证书上的主机执行) openssl x509 -in httpd.crt -noout -serial -subject 2:拿到证书的编号后,通过编号吊销证书,这里的01表示证书的编号 openssl ca -revoke /etc/pki/CA/newcerts/01.pem 3:生成吊销证书的吊销编号(第一次吊销某个服务器的证书时需要这样操作一次) echo 01 > /etc/pki/CA/crlnumber 4:更新证书吊销列表