
誰能給我指點一個關於在 Ubuntu 上安裝根憑證的好教學?
我已獲得一份.crt
文件。我收集需要建立一個目錄/usr/share/ca-certificates/newdomain.org
並將其放置.crt
在該目錄中。除此之外我不知道如何繼續。
答案1
給定一個 CA 憑證文件foo.crt
,請按照以下步驟在 Ubuntu 上安裝它:
在下列位置建立額外 CA 憑證的目錄
/usr/local/share/ca-certificates
:sudo mkdir /usr/local/share/ca-certificates/extra
將 CA
.crt
檔案複製到此目錄:sudo cp foo.crt /usr/local/share/ca-certificates/extra/foo.crt
讓 Ubuntu 新增
.crt
檔案的相對/usr/local/share/ca-certificates
路徑/etc/ca-certificates.conf
:sudo dpkg-reconfigure ca-certificates
若要以非互動方式執行此操作,請執行:
sudo update-ca-certificates
如果是.pem
Ubuntu 上的文件,必須先轉換為文件.crt
:
openssl x509 -in foo.pem -inform PEM -out foo.crt
或.cer
可以將文件轉換為.crt
文件:
openssl x509 -inform DER -in foo.cer -out foo.crt
答案2
給定一個 CA 憑證檔案“foo.crt”,請按照以下步驟在 Ubuntu 上安裝它:
首先,將您的 CA 複製到目錄/usr/local/share/ca-certificates/
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
然後,更新CA存儲
sudo update-ca-certificates
就這樣。你應該得到這個輸出:
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.
無需編輯任何文件。到您的 CA 的連結會自動建立。
請注意,證書檔案名稱必須以 結尾.crt
,否則update-ca-certificates
腳本將無法識別它們。
此過程也適用於較新的版本:手冊。
答案3
澄清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
...
如您所見,格式/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
將 .crt 檔案複製到此目錄:
sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
新增一行到
/etc/ca-certificates.conf
using<folder name>/<.crt name>
:echo "extra/foo.crt" | sudo tee -a /etc/ca-certificates.conf
更新證書非交互地使用 sudo update-ca-certificates
$ sudo update-ca-certificates ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
答案4
其他答案對我的 Ubuntu 18.04 不起作用。/etc/ssl/certs/ca-certificates.crt
使用以下命令附加證書 cert :
cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt