这是自签名证书的一个常见问题,因为您网站的访问者或其浏览器无法验证服务器的身份。原因是,没有对其进行签名的证书颁发机构,因此浏览器没有链接到证书的信任链中的(根)证书。
自签名证书的这个问题在下面的
post
风险在于客户。SSL服务器证书的要点是,客户端使用它来了解服务器公钥,并在一定程度上保证密钥确实属于预期的服务器。保证来自CA:CA应该在颁发证书之前对请求者身份进行广泛的验证。
当客户端(用户及其Web浏览器)“接受”一个证书,而该证书不是由客户端信任的CA(Microsoft嵌入Windows中的CA)颁发的,则风险是客户端当前正在与一个假服务器对话,即受到攻击。请注意,无论CA证书是否由主流CA颁发,SSL都会阻止被动攻击(攻击者观察数据,但不会以任何方式更改数据)。
一般来说,您不希望训练用户忽略浏览器发出的可怕的安全警告,因为这会使他们容易受到此类服务器模拟攻击(这并不难安装,例如DNS中毒)。另一方面,如果您可以通过其他方式确认该证书是真实的,那么浏览器将记住该证书,并且只要使用相同的自签名证书,就不会在后续访问中显示警告。新提出的融合PKI是这一原则的扩展。请注意,只要证书保持不变,此“记住的证书”就有效,因此您确实希望在将来设置自签名证书的到期日期(但如果希望避免互操作性问题,则不要超过2038年)。
应注意,由于自签名证书不是由CA“管理”的,因此不可能撤销。如果攻击者窃取了您的私钥,您将永久丢失,而CA颁发的证书仍然具有理论上的吊销安全网(CA声明给定证书已损坏的一种方式)。实际上,当前的Web浏览器无论如何都不会检查吊销状态。