ssl - 是否可以自动选择正确的客户端证书?

标签 ssl certificate client-side

我已经使用 SSL 客户端证书配置了一个 Apache httpd 网站,这样只有在其网络浏览器中安装了正确证书的用户才能访问该网站。

如果只安装了一个客户端证书,Web 浏览器将自动选择它(这不是默认设置,但可以在设置对话框中的某处进行配置)。但如果用户安装了多个证书,Web 浏览器会显示证书列表,用户必须选择正确的证书才能继续。

问题是:有没有办法配置httpd发送提示,让浏览器自动选择需要的证书?

最佳答案

SSL (TLS) protocol只允许服务器对客户端证书指定两个约束:

  1. 证书类型(RSA、DSA 等)
  2. 签署客户端证书的可信证书颁发机构 (CA)

您可以使用 "openssl s_client"查看您的 Apache 服务器信任哪些 CA 来获取客户端证书。我不知道如何配置 Apache 来更改该列表(抱歉),但我敢打赌有办法。因此,如果您可以将列表限制为(比方说)您自己组织的 CA,那么您将尽一切努力让 Web 浏览器自动选择客户端证书。

正如 Eugene 所说,浏览器是否真的这样做取决于特定的浏览器。

关于ssl - 是否可以自动选择正确的客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108091/

相关文章:

ssl - 如何为 golang 添加可信证书

java - 将多个 SSL 证书固定添加到 Android KeyStore 不起作用。 (来自资源文件)

ssl - 有人可以通过更改公钥来操纵服务器 SSL 证书吗

iframe - 报告加载时的 ReportViewerForMvc 事件

javascript - Vuejs : Vue. 组件似乎不起作用

ssl - 如何确定最新的 OpenSSL 版本

c# - RemoteCertificateNotAvailable - 身份验证期间未通过根证书

wcf - 将自签名证书与 WCF 一起使用是否安全?

ssl - 使用数字证书和数字签名的安全认证

javascript - 页面加载后如何从客户端正确获取 SQL 数据