Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/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
如何让JavaWebStart使用Windows证书存储下载jar文件?_Java_Ssl_Https_Java Web Start - Fatal编程技术网

如何让JavaWebStart使用Windows证书存储下载jar文件?

如何让JavaWebStart使用Windows证书存储下载jar文件?,java,ssl,https,java-web-start,Java,Ssl,Https,Java Web Start,我遇到了以下情况:我们有一个使用JavaWebStart的应用程序,它部署在客户站点上。分发应用程序的服务器也安装在客户站点上。现在,一些客户要求我们使用SSL来更好地将应用程序集成到他们现有的系统中(这些系统只使用SSL),并且至少有一些客户使用他们自己的认证链 为了将支持降至最低,我最初的目标是要求客户将其根证书安装到单个密钥库中。但是,该应用程序是从第三方应用程序启动的,该应用程序使用.NET dll(由我们提供)启动我们的应用程序,现在还需要使用SSL从服务器下载jnlp文件。因此,对于

我遇到了以下情况:我们有一个使用JavaWebStart的应用程序,它部署在客户站点上。分发应用程序的服务器也安装在客户站点上。现在,一些客户要求我们使用SSL来更好地将应用程序集成到他们现有的系统中(这些系统只使用SSL),并且至少有一些客户使用他们自己的认证链

为了将支持降至最低,我最初的目标是要求客户将其根证书安装到单个密钥库中。但是,该应用程序是从第三方应用程序启动的,该应用程序使用.NET dll(由我们提供)启动我们的应用程序,现在还需要使用SSL从服务器下载jnlp文件。因此,对于只使用单个密钥库的问题,我目前的解决方案是在我们自己的Java应用程序中使用Windows密钥库

KeyStore.getInstance("Windows-ROOT");
然后将其送入SSLSocketFactory。此外,通过这种方式,.NETDLL也可以加载jnlp文件,而不会出现任何问题

然而,剩下的最后一步是让JavaWebStart从服务器下载jar文件,而不必将证书安装到一个Java密钥库中,到目前为止我还没有实现这一点。这就是我的问题:


有没有办法将Java WebStart(仅Java WebStart程序本身)配置为使用Windows证书存储来验证证书?

这只是对其他对此主题感兴趣的人的一个更新:到目前为止,我还没有找到一个解决方案来实现这一点。但是,如果您没有其他依赖项(如我的例子中的.NET),您也可以尝试通过检查系统属性(通过WebStart运行时)来加载Java WebStart正在使用的存储。我认为我的问题将完全通过您编写的部分解决方案得到解决“使用keystore.getInstance(“Windows根目录”)在我们自己的Java应用程序中使用Windows密钥库;你能解释一下怎么把它送到SSLSocketFactory吗?我还没弄清楚。