使用Https连接的Java应用程序:“连接被拒绝错误”

时间:2012-04-03 08:00:49

标签: java servlets https jar war

我为我的JavaAppliaction创建了一个jar.From这个应用程序我在WebApplicat中连接到servlet(我将名称和密码从swing传递给servlet)(这里我只是在servlet中显示名称和密码)。 / p>

我通过SSL连接(Https)传递数据。它在我的系统中工作正常。但是当我尝试在另一个系统中运行jar时,我收到“Connection refused error”。

注意:在另一个通过http连接传递数据的系统中运行jar工作正常。

我已经完成了这个link,它建议我创建一个“jssecacerts”文件并将其粘贴到“另一个系统”的$ JAVA_HOME / jre / lib / security文件夹中。但我仍然得到同样的错误。为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案:尝试使用。

将公共证书导入java默认密钥库

keytool -importcert -trustcacerts -file“path-to-public-cert”-keystore JAVA_HOME / jre / lib / security / cacerts

它会要求密钥库密码默认密钥库密码是“changeit”

您可以通过在网络浏览器中打开您的网址(例如Chrome)来获取公共证书,点击网址开头的图标 - >点击证书信息 - >详情标签 - >单击导出  按钮。


更好的方法是:

  • 使用JAVA_HOME / bin
  • 中提供的“keytool”创建密钥库
  • 在此密钥库中导入服务器的公共证书。
  • 将密钥库与您的应用捆绑在一起。
  • 制作一个bat / sh文件来运行你的jar,为java命令提供参数-Djavax.net.ssl.trustStore = / path-to-your-keystore

因此,每次您的应用启动时,都会使用此自定义密钥库。因此,您无需在运行应用程序的每个系统上复制jssecacerts文件。