首页 文章

为Java Webstart启用https

提问于
浏览
3

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

解决方案/步骤将非常感激 .

提前致谢

拉梅什

3 回答

  • 0

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

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

  • 1

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

  • 2

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

    • 签名/服务器身份验证是通过代码签名完成的,尽管您使用自签名证书破坏了此功能 .

    • 您的应用程序代码是否包含必须从窃听者隐藏的秘密?

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

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

相关问题