/etc/ssl/certsに0で終わる奇妙な証明書ファイル名が多すぎるのはなぜですか?

/etc/ssl/certsに0で終わる奇妙な証明書ファイル名が多すぎるのはなぜですか?

私たち全員が知っているように、CA証明書は/etc/ssl/certsDebianにあります。

cd  /etc/ssl/certs
ls | grep  0$ |wc -l
126

ここに一部を貼り付けます。

f081611a.0
f0c70a8d.0
f249de83.0
f30dd6ad.0
f3377b1b.0
f387163d.0
f39fc864.0
f51bb24c.0
fc5a8f99.0
fe8a2cd8.0

/etc/ssl/certsに0で終わる奇妙な証明書ファイル名が多すぎるのはなぜですか?

答え1

この値は証明書のハッシュです(正確に言えば、今日のハッシュは以下に基づいています)。トピック(DN)のSHA1ハッシュ標準形式で)ルックアップを高速化します。最後の数字は、同じ値にハッシュされる場合の接続要素リストのインデックスです。ハッシュ衝突発生する。

この内容は次のように記録されます。openssl rehash:

作り直すディレクトリをスキャンし、指定されたディレクトリのリスト内の各「.pem」、「.crt」、「.cer」、または「.crl」ファイルのハッシュ値を計算して生成します。シンボリックリンク各ファイルについてリンク名がハッシュです。。 (プラットフォームがシンボリックリンクをサポートしていない場合は、コピーが作成されます。) OpenSSLを使用する多くのプログラムが証明書を見つけるためにこのようなディレクトリを設定する必要があるため、このユーティリティは便利です。

最後の数字(ハッシュ衝突以前はゼロでした)は次のとおりです。

生成されたリンクは「HHHHHHHH.D」形式です。ここで、各Hは
16進文字で、Dは10進数です。ディレクトリを処理するとき、rehashは他の目的で使用されていても、この構文を使用する名前を持つすべてのリンクを最初に削除します。削除ステップをスキップするには、-nフラグを使用します。 CRLのハッシュは、「HHHHHHHH.rD」のように、ピリオドの後に文字rが現れる点を除いて類似しているようです。

複数のオブジェクトが同じハッシュ値を持つことができ、D値が増加して表示されます。。完全なSHA-1フィンガープリントを比較して重複するエントリを見つけます。重複した項目が見つかると警告が表示されます。

関連情報