与えられた:ローカル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-certificates
CAサーバーのパブリック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/cacerts
Javaパッケージがインストールされている場合は、CA証明書用のJKSキーストアを生成するスクリプトがあります。
マニュアルページman update-ca-certificates
と追加文書があります/usr/share/doc/ca-certificates
。しかし、すべての文書を徹底的に読まないと、次の事実を見逃す可能性があります。以下のディレクトリを作成する必要があります。/usr/local/share/ca-certificates
CA 証明書を中に入れると、最上位レベルの証明書ファイルは/usr/local/share/ca-certificates
無視されます。
このupdate-ca-certificates
コマンドは Debian および関連ディストリビューションで使用されます。上記のコマンドはupdate-ca-trust
Fedoraに由来し、Archでも使用されているようです(関連ディストリビューションも可能ですか?)。
これら2つのコマンドは、基本的に同じことを行います。ただし、各リリースシリーズはシステム全体のCA証明書に対してわずかに異なるディレクトリ階層を保持するため、正確なパス名は異なります。