4

将 Java Webstart 与使用客户端身份验证的 https 服务器一起使用时,有没有办法抑制密码提示?我想这样做,因为 webstarted 应用程序在没有键盘的触摸屏设备上运行,并且在 kiosk 模式下运行。因此,从密钥库中删除密码或将其存储在某处就足够了,也许在启动应用程序的桌面快捷方式中。

我已经尝试将 JVM 参数附加到这样的快捷方式,但它不起作用:

javaws -J-Djavax.net.ssl.keyStorePassword=mypass https://...

我还发现,当我在 Java 控制面板中激活“使用浏览器密钥库”选项并将证书添加到其中时,我可以取消密码提示并仍然成功连接。似乎只有 Java-Keystore 要求输入密码,而 Internet-Explorer 则不需要。

4

2 回答 2

1

您尝试使用自定义 KeystoreProvider 实现。创建起来并不难,我假设您可以覆盖对密码的需求。您将需要自定义用于启动 webstart 应用程序的 JRE 的 security.properties。

虽然在您的情况下......您是否有理由不想使用浏览器密钥库?在这种情况下,你没有问题。

大卫

于 2009-11-27T19:47:51.413 回答
0

我认为问题出在证书颁发机构(CA)上!如果您的 webstart 应用程序使用 CA(Verisign、Thawte、...)的 JVM 列表中已经包含的 CA 批准的证书进行签名,则无需密码即可将应用程序密钥添加到本地密钥库。
因此,如果您愿意,您可以在 Java 默认密钥库中手动存储您自己的证书颁发机构(需要一次密码),然后使用此私有 CA 颁发的证书对您的 jar 进行签名。
我不知道你在你的设备上使用了哪个 JVM(我在使用 IBM JDK 时遇到了一些问题),但它应该可以工作!

于 2009-12-06T17:30:24.977 回答