如何使其在本地网络中工作证书固定(HPKP)和自签名证书?

Pet*_*nar 4 ssl openssl certificate-authority hpkp

我需要在本地网络中使用 SSL,我想避免浏览器无效证书错误。

我的想法是生成自签名证书,然后使用证书锁定(HPKP)来告诉浏览器只有这个证书可以信任?

我目前正在探索与这个想法相关的所有选项。我已经使用自签名证书和带有值的 HPKP 标头(Public-Key-Pins)进行了测试,例如:

"pin-sha256="somedataencodedbase64=";pin-max-age=10;includeSubDomains"

浏览器不接受它作为安全。我仍然需要完成这个测试(使用不同的自签名证书,我需要确保 SPKI 计算正确......

现在的问题是:

  • 为给定的本地主机名(例如 mylocalserver)颁发的自签名证书是否有效并固定在服务器响应中?这甚至会起作用吗?

  • 证书锁定是否适用于本地主机名(这意味着,它仅适用于域名)?

  • 固定证书是否必须首先有效或由 CA 推动(这意味着不能固定自签名证书 - 除非它们被添加到客户端的信任存储)?

  • 在本地拥有有效 SSL 的最简单的另一种方法是什么,因此我不需要配置客户端(客户端信任存储)?

  • 我们可以将证书固定视为可信 CA 的替代方案吗?我在某处读到它只是另外所以这意味着证书链首先需要有效,然后你可以固定它?

  • 我也越来越多地思考这个想法是否可行。因为那样我们会看到更多地使用这种技术。每个人都会生成自签名证书并固定它......并在CA可信证书上节省几美元......或者我对整个概念的错误或正确?

Ste*_*ich 9

HPKP 不会取代正常的验证。相反,它是对正常验证的补充。因此,如果正常验证失败,因为证书是自签名的 HPKP 将无济于事。