如何安裝根憑證?

如何安裝根憑證?

誰能給我指點一個關於在 Ubuntu 上安裝根憑證的好教學?

我已獲得一份.crt文件。我收集需要建立一個目錄/usr/share/ca-certificates/newdomain.org並將其放置.crt 在該目錄中。除此之外我不知道如何繼續。

答案1

給定一個 CA 憑證文件foo.crt,請按照以下步驟在 Ubuntu 上安裝它:

  1. 在下列位置建立額外 CA 憑證的目錄/usr/local/share/ca-certificates

    sudo mkdir /usr/local/share/ca-certificates/extra
    
  2. 將 CA.crt檔案複製到此目錄:

    sudo cp foo.crt /usr/local/share/ca-certificates/extra/foo.crt
    
  3. 讓 Ubuntu 新增.crt檔案的相對/usr/local/share/ca-certificates路徑/etc/ca-certificates.conf

    sudo dpkg-reconfigure ca-certificates
    

    若要以非互動方式執行此操作,請執行:

    sudo update-ca-certificates
    

如果是.pemUbuntu 上的文件,必須先轉換為文件.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-certificatesdpkg-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-certificatessudo update-ca-certificates您可以執行以下操作來匯入 .crt:

  1. 在 /usr/share/ca-certificates 中建立額外 CA 憑證的目錄:

     sudo mkdir /usr/share/ca-certificates/extra
    
  2. 將 .crt 檔案複製到此目錄:

     sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. 新增一行到/etc/ca-certificates.confusing <folder name>/<.crt name>

     echo "extra/foo.crt" | sudo tee -a /etc/ca-certificates.conf
    
  4. 更新證書非交互地使用 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 

相關內容