OpenJDKのcacerts
RHEL系OSだけかもしれんが、yum/dnfでインストールしたOpenJDKの証明書ファイル(cacerts)って、OSで追加したルート証明書の内容が反映されるのかな。 今更ながら知らんかった…
2023-03-01 09:23:52@yamadamn うろ覚えなんですが、RHEL/CentOSの ca-certificates パッケージが提供する update-ca-trust コマンドが、まとめてJava(正確にはrhel/centosビルドのopenjdk)のcacertsもよしなに更新してくれて、全体として整合性取ってくれてたような・・・記憶があります。
2023-03-01 22:27:39@yamadamn update-ca-trust コマンドの実体がたしかスクリプトファイルか何かで、ソース斜め読みしたら rhel/centosビルドの openjdk が参照するcacertsも操作してくれてて「安心だね~」ってなったかすかな記憶があります。
2023-03-01 22:29:43@yamadamn rhel/centosビルドのopenjdkも /etc/alternatives/java 以下にsymlink張りまくってるので、その辺追うのもちょいめんどいですが。
2023-03-01 22:31:02@yamadamn 逆にいえば、rhel/centosビルド以外のOpenJDKディストリビューションバイナリを入れた場合、update-ca-trustでは反映されないので自分たちでcacerts管理する必要がある気がします。(未検証)(それか update-ca-trust に合わせる形にカスタム頑張る)
2023-03-01 22:32:44@msakamoto_sf 色々と詳細ありがとうございます! Adoptiumもdnfでインストールしたら、cacertsにOSのルート証明書が追加されてたんですよね。 最初に「あれ?なんで通信できてるんだ??」となっておりました…
2023-03-01 22:38:06@yamadamn なるほど、adoptiumの方でしたか。そちらでも連動してくれるんですかね?便利です! この辺、パッケージのファイル構成とかsymlink辿らないとなにがどうなってるか迷子になります・・・。
2023-03-01 22:41:17@yamadamn adoptiumということで、openjdkの情報は不要かもですが・・・自分の検証メモを見返すと /etc/pki/ca-trust/extracted/java/cacerts が実体で /etc/pki/java/cacerts 経由で $JAVA_HOME/lib/security/cacerts に symlink してて、
2023-03-01 22:42:31@yamadamn /etc/pki/ca-trust/extracted/java/cacerts や /etc/pki/java/cacerts を管理してるのが ca-certificates パッケージになりまして、それが update-ca-trust コマンドでシステム全体の証明書ストア(anchor)の整合性を保ってくれてました。
2023-03-01 22:44:08@msakamoto_sf なるほどー、実装は全然追ってなかったのですが、access.redhat.com/solutions/3076… と関連するのだろうな、とは思ってました。 (ログインしないと見られませんが) ここで触れてるのは当然ながらRed Hat OpenJDKだけの話ですね。そちらとAdoptium以外のcacertsはどうなるか確認してないので、今度試してみます!
2023-03-01 23:30:39OSに独自に登録したルート証明書をJDKはなぜ使ってくれないかと不思議に思ってたけど、Amazon Correttoだったからなのかな。
2023-03-01 23:20:43@abe_masanori yujiorama.hatenablog.com/entry/2018/11/… を確認する限り、ちょっと古い情報ですが、そのようですね。
2023-03-01 23:49:31