如何在 Alpine Linux 中安装自签名证书链?
我有一个自签名证书链我一直在 Ubuntu 中使用,例如:
培根.crt
-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
7CJAMIDDLEBLAH80A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
328FjOTHERVBLAHBLAH
-----END CERTIFICATE-----
在 Ubuntu 中,我运行以下命令来安装它证书链:
cp /tmp/certs/bacon.crt /usr/local/share/ca-certificates/bacon.crt
update-ca-certificates
简单的!
但是,在 Alpine Linux 上:
# cp /tmp/certs/bacon.crt /usr/local/share/ca-certificates/bacon.crt
/usr/local/share/ca-certificates # update-ca-certificates
WARNING: ca-cert-bacon.crt.pem does not contain exactly one certificate or CRL: skipping
如果我尝试将我的证书分成 3 块来喂养这个发行版:
/tmp/certs/1.crt
-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
/tmp/certs/2.crt
-----BEGIN CERTIFICATE-----
328FjOTHERVBLAHBLAH
-----END CERTIFICATE-----
/tmp/certs/3.crt
-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
现在它不会抛出错误证书安装但仍然无法针对其他自签名端点进行身份验证。
答案1
弄清楚了。天哪。
/etc/ssl/certs/ca-certificates.crt
实际上是附加来自 的每个单独的证书/usr/local/share/ca-certificates
。
- 获得一个干净的环境(这是我的第一个主要问题)
- 将您的证书链分成每个 BEGIN/END 对的单独部分。
- 公司根.crt
- 公司-X.crt
- 公司-Y.crt
- 公司-Z.crt
- 公司发行.crt
- 如果你正在额外的小心,从证书开始一次加载一个
company-Root.crt
,然后运行update-ca-certificates
。 - 重复此操作,直到处理完所有证书。
- 验证
/etc/ssl/certs/ca-certificates.crt
文件底部是否包含更新。