了解Apache SSLCACertificatePath指令

该指令的文档声明如下:

这个目录中的文件必须是PEM编码的,并通过哈希文件名来访问。 所以通常你不能把证书文件放在那里:你还必须创build名为hash-value.N的符号链接。 你应该确保这个目录包含适当的符号链接。

我有两个问题:

  • 实用:文件名中的.N部分是什么意思? 我如何决定给它什么价值?
  • 概念:Apache为什么不只是扫描证书文件的指定目录? 我是否缺less一些计算和记住证书散列的属性?

  • 实用 :理论上可以将两个不同的证书散列为相同的值。 在这种情况下,使用扩展名可以保留两个证书。 只要只有一个使用该散列的证书,扩展并不重要,您可以select任何您喜欢的数字。 (我不认为我见过任何人使用0以外的任何东西,但是没有任何规则反对它)。

  • 概念 :散列基于证书主题名称。 使用它而不是文件名的目的是,当程序(在这种情况下,Apache)需要find一个证书,它可以要求证书主体名称的散列,而不是必须保持一个内部表包含哪个文件哪个证书主题名称。

man x509和寻找hash会给你一点信息,但不多。

(另外,你实际上不需要有符号链接 – 你也可以用它的哈希名称来命名证书文件,但是将符号链接到“subjectname.pem”当然会使我们更容易找出哪个证书是哪一个。)