将自签名证书安装到 Alpine Linux

Rak*_*aim 12 linux ssl

如何在 Alpine Linux 中安装自签名证书链?

我有一个我一直在 Ubuntu 中使用的自签名证书,例如:

培根.crt

-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
7CJAMIDDLEBLAH80A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
328FjOTHERVBLAHBLAH
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 中,我运行以下命令来安装此证书链

cp /tmp/certs/bacon.crt /usr/local/share/ca-certificates/bacon.crt
update-ca-certificates
Run Code Online (Sandbox Code Playgroud)

简单!


但是,在 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
Run Code Online (Sandbox Code Playgroud)

如果我尝试将我的证书分成 3 块来提供此发行版:

/tmp/certs/1.crt

-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

/tmp/certs/2.crt

-----BEGIN CERTIFICATE-----
328FjOTHERVBLAHBLAH
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

/tmp/certs/3.crt

-----BEGIN CERTIFICATE-----
328FjQIFJNVBLAHBLAH
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

现在它不会在证书安装期间抛出错误,但仍然无法针对其他自签名端点进行身份验证。

Rak*_*aim 17

弄清楚了。天哪。

/etc/ssl/certs/ca-certificates.crt实际上是从/usr/local/share/ca-certificates.

  1. 获得一个干净的环境(这是我的第一个主要问题)
  2. 将您的证书链分解为您拥有的每个 BEGIN/END 对的单独部分。
    1. 公司-Root.crt
    2. 公司-X.crt
    3. 公司-Y.crt
    4. 公司-Z.crt
    5. 公司发行.crt
  3. 如果您特别小心,请一次加载一个,从company-Root.crt证书开始,然后运行update-ca-certificates.
  4. 重复直到处理完所有证书。
  5. 验证/etc/ssl/certs/ca-certificates.crt文件底部是否包含更新。

  • 好的,我在这里找到了解决方案 /sf/answers/3787063451/ (2认同)