Debian Air-Gapped ホストにローカル CA 権限を追加する方法

Debian Air-Gapped ホストにローカル CA 権限を追加する方法

与えられた:ローカルCAサーバーを使用する多くのWebサービスがある完全に隔離されたLAN。

すべてのユーザーホストにCA証明書がインストールされており、.crtファイルはupdate-ca-certificatesレポートなしでChromeなどのブラウザに似たソフトウェアで実行されます。

ただし、すべてのコマンドラインユーティリティ(curl、git、wgetなど)はローカル発行者を確認できないため、エラーが発生します。

カールからのメッセージ:

curl:(60)SSL証明書問題:ローカル発行者証明書を取得できません。

ほとんどの方法は、単にインターネット全体の証明書パッケージをインストールすることに関連しています。一部の人は/etc/pki/whitelistパスとupdate-ca-trustスクリプトを使用していると述べていますが、どちらもシステムやリポジトリにありません。

ホストオペレーティングシステム:Debian 11

答え1

以下に名前を付けてディレクトリを作成し、/usr/local/share/ca-certificatesCAサーバーのパブリックCA証明書をPEM形式のファイルとしてそのディレクトリに配置します*.crt。それからupdate-ca-certificates

システム全体で複数の形式でローカルCA証明書を追加します/etc/ssl/certs

  • 証明書ハッシュを持つシンボリックリンクを持つPEM形式の証明書のOpenSSLスタイルディレクトリとして、次の場所にあります。/etc/ssl/certs
  • 信頼できるすべてのCA証明書を含むPEM形式の単一ファイルとして、次の場所にあります。/etc/ssl/certs/ca-certificates.crt
  • に配置されたスクリプトで生成できる他のフォーム/etc/ca-certificates/update.d。たとえば、次のようになります。
    • /etc/ca-certificates/update.d/jks-keystore/etc/ssl/certs/java/cacertsJavaパッケージがインストールされている場合は、CA証明書用のJKSキーストアを生成するスクリプトがあります。

マニュアルページman update-ca-certificatesと追加文書があります/usr/share/doc/ca-certificates。しかし、すべての文書を徹底的に読まないと、次の事実を見逃す可能性があります。以下のディレクトリを作成する必要があります。/usr/local/share/ca-certificatesCA 証明書を中に入れると、最上位レベルの証明書ファイルは/usr/local/share/ca-certificates無視されます。

このupdate-ca-certificatesコマンドは Debian および関連ディストリビューションで使用されます。上記のコマンドはupdate-ca-trustFedoraに由来し、Archでも使用されているようです(関連ディストリビューションも可能ですか?)。

これら2つのコマンドは、基本的に同じことを行います。ただし、各リリースシリーズはシステム全体のCA証明書に対してわずかに異なるディレクトリ階層を保持するため、正確なパス名は異なります。

関連情報