任何人都可以指出我在 Ubuntu 上安装根证书的好教程吗?
我得到了一个.crt文件。我认为需要创建一个目录/usr/share/ca-certificates/newdomain.org并将其.crt 放在该目录中。除此之外,我不确定如何进行。
小智 422
给定一个 CA 证书文件foo.crt,按照以下步骤在 Ubuntu 上安装它:
在以下位置为额外的 CA 证书创建一个目录/usr/share/ca-certificates:
sudo mkdir /usr/local/share/ca-certificates/extra
Run Code Online (Sandbox Code Playgroud)
将 CA.crt文件复制到此目录:
sudo cp foo.crt /usr/local/share/ca-certificates/extra/foo.crt
Run Code Online (Sandbox Code Playgroud)
让Ubuntu上添加.crt文件的相对路径/usr/local/share/ca-certificates至/etc/ca-certificates.conf:
sudo dpkg-reconfigure ca-certificates
Run Code Online (Sandbox Code Playgroud)
要以非交互方式执行此操作,请运行:
sudo update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
如果是.pemUbuntu上的文件,则必须首先将其转换为.crt文件:
openssl x509 -in foo.pem -inform PEM -out foo.crt
Run Code Online (Sandbox Code Playgroud)
或者.cer可以将文件转换为.crt文件:
openssl x509 -inform DER -in foo.cer -out foo.crt
Run Code Online (Sandbox Code Playgroud)
小智 244
给定一个 CA 证书文件“foo.crt”,按照以下步骤在 Ubuntu 上安装它:
首先,将您的 CA 复制到 dir /usr/local/share/ca-certificates/
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
Run Code Online (Sandbox Code Playgroud)
然后,更新 CA 存储
sudo update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
就这样。你应该得到这个输出:
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.
Run Code Online (Sandbox Code Playgroud)
不需要编辑文件。到您的 CA 的链接是自动创建的。
请注意,证书文件名必须以 结尾.crt,否则update-ca-certificates脚本将无法获取它们。
此过程也适用于较新版本:手册。
mah*_*ich 14
之间澄清update-ca-certificates和dpkg-reconfigure ca-certificates为什么一个作品和其他没有!
update-ca-certificates或者sudo update-ca-certificates 只会工作,如果/etc/ca-certificates.conf已经更新。
/etc/ca-certificate.conf 仅在您运行dpkg-reconfigure ca-certificates更新要导入的证书名称后才会更新/etc/ca-certificates.conf。
这在/etc/ca-certificates.conf文件的标题中说明:
# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates. <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...
Run Code Online (Sandbox Code Playgroud)
如您所见,格式/etc/ca-certificates.conf为<folder name>/<.crt name>
因此,为了使用update-ca-certificates或者sudo update-ca-certificates您可以执行以下操作来导入 .crt:
在 /usr/share/ca-certificates 中为额外的 CA 证书创建一个目录:
sudo mkdir /usr/share/ca-certificates/extra
Run Code Online (Sandbox Code Playgroud)将 .crt 文件复制到此目录:
sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
Run Code Online (Sandbox Code Playgroud)在/etc/ca-certificates.confusing 中添加一行<folder name>/<.crt name>:
echo "extra/foo.crt" >> /etc/ca-certificates.conf
Run Code Online (Sandbox Code Playgroud)更新证书的非交互使用sudo更新CA证书
$ sudo update-ca-certificates
...
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Run Code Online (Sandbox Code Playgroud)小智 12
我已经在 Ubuntu 14.04 上测试过了。
这是我的解决方案,我查看并寻找了很长时间,试图弄清楚如何让它发挥作用。
certutil -config - -ping如果您使用公司代理,则会显示您正在使用的证书颁发机构)openssl x509 -inform DER -in certificate.cer -out certificate.crtsudo mkdir /usr/share/ca-certificates/extrasudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crtsudo update-ca-certificatessudo nano /etc/ca-certificates.conf!文件名前面的from (update-ca-certificates doc) - 如果您没有找到您的证书运行dpkg-reconfigure ca-certificatessudo update-ca-certificates小智 5
其他答案在 Ubuntu 18.04 上对我不起作用。/etc/ssl/certs/ca-certificates.crt使用以下命令将证书证书附加到:
cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
736289 次 |
| 最近记录: |