0

由于 Chrome 68证书透明度已强制执行。这是我们公司代理的 SSL 解密的一个大问题。

代理的证书被添加到系统的证书存储中,这在 Chrome 68 之前就像一个魅力。有一个名为CertificateTransparencyEnforcementDisabledForLegacyCas的策略,可以添加这样的证书并禁用它的强制执行。不幸的是,我不知道如何生成提到的哈希:

通过连接散列算法名称、“/”字符和应用于指定证书的 DER 编码的 subjectPublicKeyInfo 的散列算法的 Base64 编码来指定 subjectPublicKeyInfo 散列。此 Base64 编码与 RFC 7469 第 2.4 节中定义的 SPKI 指纹格式相同。无法识别的哈希算法将被忽略。目前唯一支持的哈希算法是“sha256”。

谷歌搜索没有帮助,如果有同样问题的人可以帮助我,我会很高兴。

非常感谢!

斯文

4

1 回答 1

1

要获取 subjectPublicKeyInfo (SPKI) 的 base64 哈希,您可以使用 openssl 和以下命令行咒语:

openssl x509 -pubkey -noout -in <path to PEM cert> | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

并创建策略所需的字符串:

printf 'sha256/%s\n' `openssl x509 -pubkey -noout -in <path to PEM cert> | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64`

但是,如果证书不是公开信任的,而是手动信任的,则不应强制执行 CT 策略。如果您认为您在不应该出现错误时遇到错误,请在http://crbug.com/new提交错误

于 2018-07-27T11:49:55.157 回答