CentOS8へルート証明書をインポート、リセットする方法

AnsibleでvCenterサーバへ接続する際にSSLエラーがでる為、新しい環境のvCenterに接続する場合は、ルート証明書をインポートする必要があります。

 

そして、AnsibleはCentOSRedHat Linuxなどで構築できますが、いつもルート証明書をインポートする手順を忘れてしまうので備忘録。

 

①ルートCA証明書をファイルを以下のディレクトリにコピーします。

 /etc/pki/ca-trust/source/anchors/ 

 

②続いて、以下のコマンドを実行して更新します。

update-ca-trust extract

 

これでAnsibleからvCenterサーバへ接続できるようになります。

 

 

そして、もう一つ参考になるのがこちら。

RHEL 6 および RHEL 7 で信頼されている CA 証明書の一覧をリセットする - Red Hat Customer Portal

 

検証環境などで、不要な証明書をたくさん入れすぎてきれいにしたい場合に便利です。

 

①あとで調査するために、検出された証明書を保存するバックアップディレクトリを作成します。

~]# mkdir -p /root/cert.bak
mkdir: created directory ‘/root/cert.bak’

 

②ca-certificates パッケージをリセットし、アップデートします。
これにより、(たとえば ca-bundle.crt に) 直接カスタマイズした設定が元に戻り、パッケージをアップデートまたは再インストールします。

 

~]# rpm -Vv ca-certificates | awk '$1!="........."&& $2!="d" {system("mv -v " $NF " /root/cert.bak")}'
`/etc/pki/java/cacerts' -> `/root/cert.bak/cacerts'
`/etc/pki/tls/certs/ca-bundle.crt' -> `/root/cert.bak/ca-bundle.crt'
`/etc/pki/tls/certs/ca-bundle.trust.crt' -> `/root/cert.bak/ca-bundle.trust.crt'
~]# yum check-update ca-certificates; *1 && yum update ca-certificates || yum reinstall ca-certificates

 

③/etc/pki/ca-trust/source/ ディレクトリと /etc/pki/ca-trust/source/anchors/ ディレクトリの両方には以下の 2 ファイルだけが含まれるようにしてください。
その他のファイルはバックアップディレクトリに移動します。

~]# find /etc/pki/ca-trust/source{,/anchors} -maxdepth 1 -not -type d -exec ls -1 {} +
/etc/pki/ca-trust/source/ca-bundle.legacy.crt
/etc/pki/ca-trust/source/README

 

④/usr/share/pki/ca-trust-source/ ディレクトリと /usr/share/pki/ca-trust-source/ ディレクトリの両方には以下の 4 ファイルだけが含まれるようにしてください。
その他のファイルはバックアップディレクトリに移動します。

~]# find /usr/share/pki/ca-trust-source{,/anchors} -maxdepth 1 -not -type d -exec ls -1 {} +
/usr/share/pki/ca-trust-source/ca-bundle.neutral-trust.crt
/usr/share/pki/ca-trust-source/ca-bundle.supplement.p11-kit
/usr/share/pki/ca-trust-source/ca-bundle.trust.crt
/usr/share/pki/ca-trust-source/README

 

⑤update-ca-trust を実行して CA-trust データベースを再構築します。

update-ca-trust extract コマンドを実行します。

RHEL 6 では、おそらく以下の警告が表示されます。

update-ca-trust:Warning:The dynamic CA configuration feature is in the disabled state
これは通常 (デフォルト) の期待された動作で、問題ではありません。
詳細は update-ca-trust の man ページを参照してください。

 

参考までに

 

Ansible構築・運用ガイドブック インフラ自動化のための現場のノウハウ (Compass Books)

 

 

*1:$?==100