Web 服务器具有用于请求客户端证书的设置 - 例如。SSLVerifyClient require
在 Apache 中,IIS 等中的不同设置。如果已设置,则浏览器会弹出一个对话框,要求您选择证书。
是否可以动态请求证书?即我真的对 2 路 SSL 不感兴趣 - 但是,我想要求用户在我的应用程序中注册他的证书,这将在不同的上下文中使用。所以我需要让用户选择在他的浏览器中注册的证书之一,并在我的应用程序中访问证书。我该怎么做呢?
这可能吗?
Web 服务器具有用于请求客户端证书的设置 - 例如。SSLVerifyClient require
在 Apache 中,IIS 等中的不同设置。如果已设置,则浏览器会弹出一个对话框,要求您选择证书。
是否可以动态请求证书?即我真的对 2 路 SSL 不感兴趣 - 但是,我想要求用户在我的应用程序中注册他的证书,这将在不同的上下文中使用。所以我需要让用户选择在他的浏览器中注册的证书之一,并在我的应用程序中访问证书。我该怎么做呢?
这可能吗?
我想出了一种方法来做到这一点——我的应用程序中有一个上传链接——它指向一个具有Client Side Authentication
所需属性的虚拟目录。因此,当用户单击链接时 - 它会触发 SSL 重新协商。浏览器会抛出一个对话框,让用户从注册的证书中进行选择。一旦他选择了证书,就会发生 SSL 重新协商,并且我可以在应用程序中访问证书。SSL 重新协商确保用户拥有证书对应的私钥。
如果这种方法有任何问题,或者如果有更好的方法可以做到这一点,我肯定有兴趣这样做。
此外,我目前正在 IIS 中执行此操作 - 但我认为在大多数其他网络服务器中也应该可以进行类似的操作。