cacerts の中身を精査した

TL;DR

  • Oracle OpenJDK に同梱された cacerts と他のプロバイダの配布物を比較した
  • Zulu 11 は Oracle OpenJDK の cacerts にエントリを追加したように見える
    • fingerprint type が同一
    • エントリ名に [jdk] と付けるルールを揃えてる
  • AdoptOpenJDK および Redhat の OpenJDK は cacerts を作り直しているようだ
    • fingerprint type が異なる

比較結果

配布物 エントリ数 fingerprint type
Oracle OpenJDK 11 93 SHA1
OpenJDK 11 (AdoptOpenJDK) 93 SHA256
OpenJDK 11 (Redhat) 133 SHA256
Zulu 11 158 SHA1

個別の観察

OpenJDK 11 (AdoptOpenJDK)

  • fingerprint type が違う
  • エントリの名前とタイムスタンプは同じ
  • エントリ数は一致

Oracle OpenJDK と同じソースから作り直している、と考えてよさそう。

OpenJDK 11 (Redhat)

  • fingerprint type が違う
  • 同じ名前のエントリでもタイムスタンプが違う
  • Oracle OpenJDK に存在しないエントリが増えてる

完全に作り直している雰囲気。

Zulu 11

  • fingerprint type は同じ
  • Oracle OpenJDK に存在するエントリの名前とタイムスタンプは同じ
  • Oracle OpenJDK に存在しないエントリが増えてる

作り直しているというより、キーストアファイルにエントリを追加しているような雰囲気。

JDK-8191031で削除対象になっている Symantec の証明書が残っていることから、OpenJDK 本体へ追従できてないような気がする。

深入り

cURL の公開している cacerts.pem と比較して存在する(1)存在しない(0)を整理した。

openjdk cacerts