如何从 Internet Explorer 访问 Windows 证书存储



>我有一个内部网Web应用程序,我需要在其中签署位于服务器端的PDF文档。签名者必须是当前从给定网页发出 sign 命令的最终用户,并且其数字签名/证书位于其智能卡中。

根据我收集的信息,当用户将其智能卡插入读卡器时,信息将填充到 Windows 密钥存储中。我说的对吗?所以我需要做的是以某种方式从Internet Explorer读取Windows证书存储区的信息。我知道javascript没有达到这些信息。我也知道java可以做到这一点,但是如果我能避免使用java小程序,我会的。

有什么想法吗?

是不可能的。

如果要对文档进行签名,浏览器必须将包含私钥的证书发送到服务器。如果可以通过浏览器访问 Windows 证书存储,这将是一个严重的安全问题,因为攻击者可以读取所有证书私钥。

根据您描述的基本思想,我会建议的另一件事

构建一个安全的身份验证系统,用户可以在其中使用窗体或 Windows 身份验证登录到 Intranet 应用。

服务器端的每个用户保留一个证书。如果用户随后上传 PDF,则使用用户证书对其进行签名并提供下载。

请考虑拥有一个本地应用程序

如果用户在本地拥有智能卡,为什么不让本地应用程序对 PDF 进行签名?看到您在本地拥有您需要和想要的一切。为什么要把它推到服务器端?

签名多久

发生一次? 也许考虑使用 Java Web 启动应用程序(某种折衷 - 取决于您的安全策略)进行签名?

您是否看过ASSP在那里提供的可能性?值得一试。

最新更新