我在我的网站上实施了公钥认证,允许用户在不使用密码的情况下登录。他们可以在签署后以正常方式申请证书。在后端,使用自签名服务器证书生成新证书。在Apache配置中,客户端证书设置为可选,以便允许用户在没有证书的情况下登录。
这一切都很精彩,但从Safari访问网站时出现问题。当首次访问该网站时,浏览器提供使用Apple生成的证书,默认的Safari选项是这样做的。我的服务器当然无法验证此证书,因为它是由Apple签署的,而不是我的服务器。结果是用户收到证书错误,无法访问该网站。如果用户拒绝使用Apple提供的证书,则一切都按预期工作,用户可以正常登录。
问题是,如果用户在第一次访问时点击继续(使用Apple签名证书),则会在钥匙串中记住这一点。这使得网站无法访问,除非删除钥匙串中的条目,这很痛苦。
是否有人遇到此错误,这使得几乎不可能为大多数人使用公钥认证?