如何向 Ubuntu 21.04 添加自签名根 CA

如何向 Ubuntu 21.04 添加自签名根 CA

我有一个 EC2 实例,正在尝试让本地 wget 运行。

我有自己的 CA 密钥集、crt、pem,我一直用它来签署我公司的证书请求,并且运行良好。在 Web 服务器 (AWS EC2) 上,我有一个标准的 Apache2 侦听器,它处理所有 TLS。然后我将 CA 加载到浏览器中,一切正常。

我甚至可以这样做:

sudo openssl verify -CAfile myCA.pem internal.crt
internal.crt: OK

所以我知道一切都没问题。我现在需要编写代码并像这样调用 wget:

 wget https://internal.com

回复:

--2021-10-10 18:13:34--  https://internal.com/
Resolving internal.com (internal.com)... x.x.x.x
Connecting to internal.com (internal.com)|x.x.x.x|:443... connected.
ERROR: cannot verify internal.com's certificate, issued by ‘CN=myCA,OU=IT,O=myOrg CA,ST=FL,C=US’:
  Unable to locally verify the issuer's authority.
  ERROR: no certificate subject alternative name matches
requested host name ‘internal.com’.

 

我按照一些说明将我的 CA 添加到 ubuntu,我这样做了:摘自(https://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate

sudo mkdir /usr/local/share/ca-certificates/extra
sudo cp myCA.crt /usr/local/share/ca-certificates/extra/myCA.crt
sudo dpkg-reconfigure ca-certificates

这是输出:

Updating certificates in /etc/ssl/certs...
rehash: warning: skipping myCA.pem,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Processing triggers for ca-certificates (20210119ubuntu0.21.04.1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

运行上述程序后,/etc/ssl/certs 文件夹中会有一个 myCA.pem,但它是 myCA.crt 的 simlink

 myCA.pem -> /usr/local/share/ca-certificates/extra/myCA.crt
 

.pem 指向 .crt,这不对吧?有什么建议吗?

答案1

文件.pem扩展名不会使其成为 PEM 格式的文件,.crt扩展名(以及 Unix 系统上的任何扩展名)也是如此。

我在 Debian 上尝试导入 DER 格式证书时遇到了这个问题。我通过运行以下命令将所有证书转换为 PEM 格式: openssl x509 -inform der -in infile.cer -out outfile.cer

然后运行sudo update-ca-certificates命令即可成功。

答案2

此消息告诉您问题:

rehash: warning: skipping myCA.pem,it does not contain exactly one certificate

myCA.pem包含多个证书。将文件拆分为单个文件,您可以将它们全部放入myCA-1.pemmyCA-2.pem等。将它们放入/usr/local/share/ca-certificates/extra/并重新运行sudo dpkg-reconfigure ca-certificates

然后您将看到/etc/ssl/certs包含符号链接到您的证书文件的哈希值,wget然后应该可以按预期工作。

lrwxrwxrwx 1 root root     13 Jul 13 10:40  6242745b.0 -> myCA-2.pem

相关内容