我已经使用 SSL 客户端证书配置了一个 Apache httpd 网站,这样只有在其网络浏览器中安装了正确证书的用户才能访问该网站。
如果只安装了一个客户端证书,Web 浏览器将自动选择它(这不是默认设置,但可以在设置对话框中的某处进行配置)。但如果用户安装了多个证书,Web 浏览器会显示证书列表,用户必须选择正确的证书才能继续。
问题是:有没有办法配置httpd发送提示,让浏览器自动选择需要的证书?
最佳答案
SSL (TLS) protocol只允许服务器对客户端证书指定两个约束:
- 证书类型(RSA、DSA 等)
- 签署客户端证书的可信证书颁发机构 (CA)
您可以使用 "openssl s_client"查看您的 Apache 服务器信任哪些 CA 来获取客户端证书。我不知道如何配置 Apache 来更改该列表(抱歉),但我敢打赌有办法。因此,如果您可以将列表限制为(比方说)您自己组织的 CA,那么您将尽一切努力让 Web 浏览器自动选择客户端证书。
正如 Eugene 所说,浏览器是否真的这样做取决于特定的浏览器。
关于ssl - 是否可以自动选择正确的客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108091/