我一直在研究数字签名解决方案,一切都很好,但现在我们的客户希望通过数字证书解决方案登录。
他展示了他使用的另一个门户网站的示例,当在登录页面上选择数字证书选项时,它会执行一个列出所有Windows安装证书的jnlp。
我相信jnlp会发送一些"桌面"在客户端工作站后台运行的模块,用于检索证书列表,然后将其发送回服务器。
我发现了一些关于SunMSCAPI的东西,它完全符合我的需要,并尝试加载它,但我总是得到一个异常
KeyStore ks = KeyStore.getInstance("Windows-ROOT", "SunMSCAPI");
或
KeyStore ks = KeyStore.getInstance("SunMSCAPI");
结果
Exception in thread "main" java.security.NoSuchProviderException: SunMSCAPI
at java.security.KeyStore.getInstance(KeyStore.java:118)
我读过一些关于SunMSCAPI的内容仅适用于Java 6或更低版本以及32位OS / JRE。
我迷失在这里......我的意思是,我不能预测Java版本用户在他们的电台上有什么。此外,今天很有可能成为x64系统。当然它可能是Unix系统而不是Windows。
攻击研究员的最佳方法是什么?