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