是否应将服务器证书添加到信任库,以便客户端安全地从服务器接收响应?

时间:2014-02-25 12:40:21

标签: java web-services soap encryption ssl-certificate

需求量的: 的 需要编写Web服务客户端以使用SSL加密与服务器进行交互。

提供: 的 提供密钥库文件和服务器证书。

编码 的 编写了一个java代码,形成了soap请求。为了添加(签署soap)加密数据,使用密钥存储区使用证书获取公钥并使用数字签名算法加密。

假设步骤:

  1. 使用密钥存储区签署soap消息并发送到服务器。
  2. 认证机构的信任存储(带证书)验证请求并处理请求。
  3. 使用服务器端的相同密钥库(由客户端使用)签署响应以发送给客户端。
  4. 客户端收到响应,并使用/JAVA_HOME/jre/lib/security/cacerts中的认证机构使用信任存储(带证书)进行验证。
  5. 在这种情况下,我们是否需要将 server.cert 文件从需求导入到/ JAVA_HOME / jre / lib / security / cacerts。?

    从中验证了响应?

    如果我在任何一步都错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

如果您的服务器和客户端已经信任签署证书的证书颁发机构(CA),那么您不必将服务器/客户端证书导入到其他信任存储区。它应该正常工作,因为已签名的CA已被客户端和服务器信任。

如果客户端/服务器不信任CA,则有两种方法可以解决此问题: 1)将CA证书导入客户端/服务器信任库,以便客户端/服务器信任该CA签署的任何证书。

2)或者将server.cert导入客户端信任库(在您的情况下为/ JAVA_HOME / jre / lib / security / cacerts)和client.cert以切断信任库以进行双向验证。

相关问题