【发布时间】:2012-04-22 02:12:29
【问题描述】:
我正在尝试使用服务器的 .cer 证书文件建立 https 连接。我可以使用浏览器手动获取证书文件,并使用 keytool 将其放入密钥库中。然后我可以使用 java 代码访问密钥库,获取我添加到密钥库的证书并连接到服务器。
然而,我现在甚至想实现使用 java 代码获取证书文件并将其添加到我的密钥库的过程,而不使用 keytool 或浏览器来获取证书。
谁能告诉我如何解决这个问题以及我需要做什么?
【问题讨论】:
-
这有什么作用?我无法想象你为什么要这样做。
-
我正在尝试在我的内部服务器中验证表单内容,然后再将客户端的请求发送回 hp 的服务器。我相信这可以防止任何基于浏览器的支付篡改,并且我的服务器可以进行所有预期的检查,而不是让 hp 的网站来做。但是,为了这样做,我需要使用 java 代码获取服务器的证书来执行握手。我不想每次都手动下载证书并将其放入我的密钥库中。我希望代码自动完成那部分..
-
您的密钥库中不需要服务器证书。如果服务器配置正确,您所需要的只是服务器证书链的“根”。
-
不幸的是,因为我连接到外部服务器,我无法控制它们的配置。
-
您应该意识到这样做会丧失对服务器进行身份验证的能力。您不知道您是将付款信息发送给 HP 还是发送给诈骗者。任何合法的支付处理器都将正确配置其服务,以便您对其进行身份验证。否则,使用 TLS 完全没有意义。
标签: java https ssl-certificate keytool digital-certificate