Javaアプリケーションへのルート認証局の追加

Javaアプリケーションへのルート認証局の追加

CentOS7にJenkinsをインストールしましたが、プラグインを更新/インストールしようとするとSSLエラーが発生します。いくつかの調査の終わりに、Java CAリポジトリにルートCA証明書がないことがわかりました。

このユーティリティを使用して、keytool欠落しているCA証明書をJava CAストアに追加しましたが、正常に機能しました。ところで、それを操作しなければならないというのが面倒だと思います。

システムが信頼するルートCA証明書をJavaが継承する方法はありませんか?それではどうですか?

ベストアンサー1

証明書ファイルをCentOS 7.xのこのディレクトリにコピーします。

$ sudo cp <cert file> /etc/pki/ca-trust/source/anchors/

証明書ファイルをこのディレクトリに配置したら、次のコマンドを実行して、新しく追加された証明書でシステムを更新します。

$ sudo update-ca-trust

Javaはどうですか?

マニュアルページを見ると、次のupdate-ca-trustセクションを見ることができます。

$man アップデート-ca-信頼

...

/etc/pki/java/cacerts

信頼されていないCA証明書のリストを含むファイルの古典的なファイル名。このファイルは、update-ca-trustコマンドによって生成されたマージ出力を参照するシンボリックリンクです。

ファイルを見ると、残りの/etc/pkiディレクトリ構造にどのようにリンクされているかを確認できます。

$ ll /etc/pki/java/cacerts
lrwxrwxrwx. 1 root root 40 May  2 10:41 /etc/pki/java/cacerts -> /etc/pki/ca-trust/extracted/java/cacerts

これに対してJavaを実行すると、次のようになりますkeytool

$ keytool -list -keystore /etc/pki/java/cacerts -storepass changeit |& head
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 155 entries

hellenicacademicandresearchinstitutionsrootca2011, May 2, 2018, trustedCertEntry,
Certificate fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D
taiwangrca, May 2, 2018, trustedCertEntry,
Certificate fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9
teliasonerarootcav1, May 2, 2018, trustedCertEntry,

上記では、利用可能なすべての証明書をインポートし、自動的にこのJava JKSファイルにマージしたことを確認できます。このファイルは、システムで実行されているすべてのJavaアプリケーションで使用できます。

引用する

おすすめ記事