为Java Webstart启用https

时间:2008-11-06 05:48:31

标签: java https java-web-start jnlp

我在HTTP Server中部署了一个swing应用程序。用户使用浏览器指向URL并使用java webstart安装客户端。现在我需要启用https访问部署在HTTP服务器上的应用程序。我使用JDK 1.5作为jnlp文件中支持的默认jdk。暂时我使用自签名证书来签署罐子(默认情况下使用Sun的jarsigner,keytool等创建工具)。

非常感谢解决方案/步骤。

提前致谢

拉​​梅什

3 个答案:

答案 0 :(得分:2)

您需要在Web服务器上启用HTTPS。要获取证书,您需要向证书颁发机构(CA)(如VeriSign或Thawte)提供凭据和服务器的主机名。他们可以为您提供由其根证书或某些中间证书签名的服务器证书。然后必须将此证书导入Web服务器以启用HTTPS over SSL。然后,Web客户端(如浏览器或Webstart)将在访问服务器时验证证书链。

如果您使用自签名jar,则会向您的所有用户显示有关可能不安全代码的警告消息。为避免这种情况,您应该从CA获得代码签名证书,这与Web服务器证书有些类似。此CA提供的证书可以导入密钥库,并以与使用自签名证书相同的方式使用。代码签名证书将由CA签名,以便可以通过webstart验证证书链。

答案 1 :(得分:1)

据我了解您的问题,您不需要更改客户端代码的任何内容。如果您只想通过HTTPS访问JNLP,您只需要重新配置分发JNLP的应用程序服务器,或者如果您在应用程序服务器前面有一个Web服务器(就像我们这样做:user - https - > apache - > AJP - > tomcat)您需要重新配置网络服务器以允许通过HTTPS访问JNLP。

答案 2 :(得分:0)

您希望利用https的功能是什么?

  • 签名/​​服务器身份验证是通过代码签名完成的,尽管您使用自签名证书破坏了此功能。
  • 您的应用程序代码是否包含必须从窃听者隐藏的秘密?

正如你所说“你需要启用”必须有一个潜在的原因。

我相信在您“需要https”之前,您需要一个正确的代码签名证书。您可能想要重新解释您的问题,以便解决您的潜在问题,而不是非常具体的问题。