动态请求客户端证书

问题描述:

Web服务器具有用于请求客户端证书的设置 - 例如, Apache中的SSLVerifyClient require,IIS中的不同设置等。如果设置了此选项,则浏览器会弹出一个对话框,要求您选择证书。动态请求客户端证书

是否可以动态请求证书?即我对2路SSL真的不感兴趣 - 但是,我想要求用户向我的应用程序注册他的证书,这将在不同的上下文中使用。所以我需要让用户选择其浏览器中注册的证书之一,并在我的应用程序中访问证书。我该怎么做呢?

这可能吗?

我已经想通了,要做到这一点的一种方式 - 我在我的应用程序上传链接 - 这点到具有Client Side Authentication所需的属性的虚拟目录。所以当用户点击链接时,它会触发SSL重新协商。浏览器会抛出一个对话框,让用户从注册的证书中选择。一旦他选择了证书,SSL重新协商就会发生,我可以访问应用程序中的证书。 SSL重新协商确保用户拥有与Cert相对应的私钥。

如果用此方法或是否有更好的方式来做到这一点,我肯定有兴趣做的任何问题。

而且,我目前做这在IIS - 但我觉得这样的事情应该在其他大多数网络服务器可能也。