ルート証明書をインストールするにはどうすればよいですか?

ルート証明書をインストールするにはどうすればよいですか?

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
    

Ubuntu 上のファイルの場合は.pem、まずファイルに変換する必要があります.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をdirにコピーします/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 をインポートします。

  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.conf使用して行を追加します<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 

関連情報