Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使java插件使用浏览器证书_Java_Ssl_Ssl Certificate - Fatal编程技术网

使java插件使用浏览器证书

使java插件使用浏览器证书,java,ssl,ssl-certificate,Java,Ssl,Ssl Certificate,我们有一个java小程序,它与运行在tomcat上的spring应用程序通信,并使用spring的http调用程序 我们希望使用ssl和客户端身份验证来保护小程序,我们有一个用于登录的jsp页面,成功登录后加载小程序 jsp页面使用ssl进行保护,当小程序加载小程序中的http调用程序时,小程序正在进行第二次握手,显然与浏览器握手无关,好吧,我不介意,但我希望java插件使用浏览器证书和客户端证书,但不是,我还必须使用java控制面板将客户端证书加载到java插件,如果我的服务器证书是自签名的,

我们有一个java小程序,它与运行在tomcat上的spring应用程序通信,并使用spring的http调用程序

我们希望使用ssl和客户端身份验证来保护小程序,我们有一个用于登录的jsp页面,成功登录后加载小程序

jsp页面使用ssl进行保护,当小程序加载小程序中的http调用程序时,小程序正在进行第二次握手,显然与浏览器握手无关,好吧,我不介意,但我希望java插件使用浏览器证书和客户端证书,但不是,我还必须使用java控制面板将客户端证书加载到java插件,如果我的服务器证书是自签名的,那么我还必须将服务器证书加载到java控制面板和nrowser

另一件事是,当小程序开始加载java插件时,弹出一个对话框,询问客户机密钥库密码,我希望避免这种情况

因此,总结一下:我希望java插件使用浏览器的可信证书和客户端证书,并避免弹出密钥库密码对话框

我已经在谷歌上搜索了两天,找不到任何关于如何做到这一点的线索

我将感谢任何帮助


我正在使用jdk 1.6.0 u23和firefox 3.6.13。

Java有自己的
密钥库
数据库,它保存这些客户端证书,这由3个变量控制

-Djavax.net.ssl.keyStore=<client_keystore_file_path>
-Djavax.net.ssl.keyStorePassword=<password to access the client keystore file>
-Djavax.net.ssl.keyStoreType=<keystore_type>

为了能够使用此功能,您必须使用
keytool
程序(JRE/JDK附带)将客户端证书转换并添加到密钥库中,这是一个如何执行此操作的示例。

Java插件文档说明小程序可以访问浏览器密钥库:

但不幸的是,文档很少,我从未尝试过这样做


祝你好运,如果你找到了,就把你的解决方案贴在这里

谢谢你的回复。实际上,我对java ssl有一些经验,但这不是小程序中的选项,因为未签名的小程序访问系统属性和文件系统的能力有限。未签名的小程序使用ssl的唯一方法是通过使用java控制面板设置的插件http连接提供程序和密钥库,或者使用浏览器密钥库。我们使用java插件控制面板中的密钥库完成了它,但没有使用浏览器密钥库。
-Djavax.net.ssl.keyStore=c:\certs\client.pfx
-Djavax.net.ssl.keyStorePassword=test
-Djavax.net.ssl.keyStoreType=pkcs12