我需要在本地网络中使用 SSL,并且我想避免浏览器无效证书错误。
我的想法是生成自签名证书,然后使用证书固定(HPKP),以便告诉浏览器只有这个证书可以信任?
我目前正在探索与这个想法相关的所有选项。我已经使用具有值的自签名证书和 HPKP 标头(Public-Key-Pins)进行了测试,例如:
"pin-sha256="somedataencodedbase64=";pin-max-age=10;includeSubDomains"
浏览器不接受它作为安全。我仍然需要完成这个测试(使用不同的自签名证书,我需要确保正确计算 SPKI ...
现在的问题是:
为给定的本地主机名(例如 mylocalserver)颁发并固定在服务器响应中的自签名证书是否有效?这甚至会起作用吗?
证书固定是否适用于本地主机名(这意味着它仅适用于域名)?
固定证书是否必须首先由 CA 有效或推动(这意味着自签名证书不能固定 - 除非它们被添加到客户端的信任库中)?
在本地拥有有效 SSL 的最简单的另一种方法是什么,所以我不需要配置客户端(客户端信任库)?
我们可以将证书固定视为可信 CA 的替代品吗?我在某处读到它只是另外所以这意味着证书链首先需要有效,然后你可以固定它吗?
我也越来越想这个想法是否可行。因为那时我们会看到更多使用这种技术。每个人都会生成自签名证书并将其固定...并在 CA 受信任的证书上节省几美元...或者我对整个概念的错误或正确之处是什么?