p12在NodeDefaultKeyStore中工作,但在WebSphere中的CellDefaultKeyStore中不工作

时间:2019-04-29 09:42:33

标签: certificate websphere keystore client-certificates p12

美好的一天,

我的Web应用程序需要连接到IBM第三方以获得一些响应。因此,IBM给了我一个.p12文件,其中包含客户端证书。

首先,我将此.p12文件导入到现有的CellDefaultKeyStore中,它将遇到证书链错误。

com.ibm.jsse2.util.j: PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is:
    java.security.cert.CertPathValidatorException: The certificate issued by xxx is not trusted; internal cause is: 
    java.security.cert.CertPathValidatorException: Certificate chaining error

然后,我将这个.p12文件导入到NodeDefaultKeyStore中,并惊讶地将其导入。我的应用程序能够呼叫第三方并获得响应代码200。

我不知道该如何向我的客户解释。

据我了解,CellDefaultKeyStore中的管理范围更大,因为NodeDefaultKeyStore仅在其单元格中,假设CellDefaultKeyStore应该起作用。

有人可以对此提出建议吗?

1 个答案:

答案 0 :(得分:0)

仅简要解释几个概念:

  • CellDefaultTrustStore-存储signer证书,以供您连接到的服务器信任。默认情况下,所有节点和服务器都共享它
  • NodeDefaultKeyStore-存储private证书,因此用于客户端身份验证的证书。默认情况下,每个节点都有其自己的存储库和要进行身份验证的私有证书。
  • CellDefaultKeyStore-存储与该单元关联的private个证书。由Deployment Manager使用,而不是服务应用程序的节点使用。联合节点不使用它。
  • NodeDefaultSSLSettings-它管理给定节点的SSL配置,您可以检查它。默认情况下,它使用NodeDefaultKeyStore(不是CellDefaultKeyStore)和CellDefaultTrustStore

但是回到您的问题。 如果您需要使用客户端证书身份验证连接到某些服务,则应该执行以下操作:

  • 从p12文件中使用cert创建新的密钥库
  • 使用连接到该服务所需的所有签名者证书创建新的信任库
  • 创建将指向这些存储的新SSL配置
  • 创建动态出站终结点SSL配置设置,指向您的ssl配置,选择正确的客户端证书,并以协议,主机,端口的形式指定连接信息

当您进行与您输入的信息匹配的出站ssl连接时,将采用此配置。