javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:PKIX路径构建失败

问题描述

在Linux中使用IIB 10.19。我已经开发了一个通过HTTP请求节点调用HTTPs REST URL的应用程序。在HTTP请求节点的SSL标签中,当前的“协议”为TLS。在“允许的SSL密码”和“ SSL客户端身份验证密钥别名”字段中,未写入任何内容。取消选中“启用SSL证书主机名检查”和“启用证书吊销列表检查”。

没有证书安装,它不起作用。因此,我按照以下步骤创建了密钥库,并将它们与Integration Server级别相关联,其中UFISBRK是我的节点,TESTEG是服务器:

keytool -genkey -alias localhost -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -keypass welcome101 -keystore /home/mqm/TESTEG/Certificates/identity.jks -validity 365

keytool -export -alias localhost -file /home/mqm/TESTEG/Certificates/localhost.cer -keystore /home/mqm/TESTEG/Certificates/identity.jks -storepass welcome101

keytool -import -alias localhost -file /home/mqm/TESTEG/Certificates/localhost.cer -keystore /home/mqm/TESTEG/Certificates/trust.jks -storepass welcome101

keytool -import -trustcacerts -alias thrifty -file /home/mqm/TESTEG/Certificates/Thrifty.cer -keystore /home/mqm/TESTEG/Certificates/trust.jks -storepass welcome101

keytool -list -keystore /home/mqm/TESTEG/Certificates/identity.jks

keytool -list -keystore /home/mqm/TESTEG/Certificates/trust.jks

chmod 777 /home/mqm/TESTEG/Certificates/identity.jks

chmod 777 /home/mqm/TESTEG/Certificates/trust.jks


mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n keystoreFile -v /home/mqm/TESTEG/Certificates/identity.jks

mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n keystoreType -v JKS

mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n keystorePass -v TESTEG::keystorePass

mqsisetdbparms UFISBRK -n TESTEG::keystorePass -u na -p welcome101



mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n truststoreFile -v /home/mqm/TESTEG/Certificates/trust.jks

mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n truststoreType -v JKS

mqsichangeproperties UFISBRK -e TESTEG -o ComIbmJVMManager -n truststorePass -v TESTEG::truststorePass

mqsisetdbparms UFISBRK -n TESTEG::truststorePass -u na -p welcome101


mqsireportproperties UFISBRK -o ComIbmJVMManager -a -e TESTEG

mqsistop UFISBRK

mqsistart UFISBRK


但是,它仍然无法正常工作。出现以下错误

<Text>javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: 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 OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group,Inc.",C=US is not trusted; internal cause is: 
    java.security.cert.CertPathValidatorException: Certificate chaining error</Text>

我已加载的证书和错误中提到的证书不同。另外,我已经检查了该Go Daddy组证书。它在我创建的信任库中不存在。它位于/home/mqm/acdm/java/jdk1.8.0_131/jre/lib/security/cacerts中的认信任库中 路径。

我不知道新创建的信任库如何被忽略。我做错了什么吗?该如何解决该问题?

-------------此部分稍后添加,代理重新启动后将显示当前错误日志--------------

( ['MQROOT' : 0x7fb94129e4b0]
  (0x01000000:Name):RecoverableException = (
    (0x03000000:NameValue):File                 = '/build/slot3/S1000_P/src/DataFlowEngine/MessageServices/ImbDataFlowNode.cpp' (CHaraCTER)
    (0x03000000:NameValue):Line                 = 1251 (INTEGER)
    (0x03000000:NameValue):Function             = 'ImbDataFlowNode::createExceptionList' (CHaraCTER)
    (0x03000000:NameValue):Type                 = 'ComIbmWSRequestNode' (CHaraCTER)
    (0x03000000:NameValue):Name                 = 'ThriftyService_MF#FCMComposite_1_3' (CHaraCTER)
    (0x03000000:NameValue):Label                = 'ThriftyService_MF.HTTP Request' (CHaraCTER)
    (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHaraCTER)
    (0x03000000:NameValue):Severity             = 3 (INTEGER)
    (0x03000000:NameValue):Number               = 2230 (INTEGER)
    (0x03000000:NameValue):Text                 = 'Node throwing exception' (CHaraCTER)
    (0x01000000:Name     ):Insert               = (
      (0x03000000:NameValue):Type = 14 (INTEGER)
      (0x03000000:NameValue):Text = 'ThriftyService_MF.HTTP Request' (CHaraCTER)
    )
    (0x01000000:Name     ):RecoverableException = (
      (0x03000000:NameValue):File                 = '/build/slot3/S1000_P/src/WebServices/WSLibrary/ImbWSRequestNode.cpp' (CHaraCTER)
      (0x03000000:NameValue):Line                 = 1147 (INTEGER)
      (0x03000000:NameValue):Function             = 'ImbWSRequestNode::evaluate' (CHaraCTER)
      (0x03000000:NameValue):Type                 = '' (CHaraCTER)
      (0x03000000:NameValue):Name                 = '' (CHaraCTER)
      (0x03000000:NameValue):Label                = '' (CHaraCTER)
      (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHaraCTER)
      (0x03000000:NameValue):Severity             = 3 (INTEGER)
      (0x03000000:NameValue):Number               = 3162 (INTEGER)
      (0x03000000:NameValue):Text                 = 'WebService Request Exception' (CHaraCTER)
      (0x01000000:Name     ):Insert               = (
        (0x03000000:NameValue):Type = 12 (INTEGER)
        (0x03000000:NameValue):Text = '436f6e74656e742d547970653a20746578742f786d6c3b20636861727365743d7574662d380d0a486f73743a206c6f67696e2e746872696674797561652e61650d0a534f4150416374696f6e3a2022220d0a436f6e6e656374696f6e3a204b6565702d416c6976650d0a0d0a' (CHaraCTER)
      )
      (0x01000000:Name     ):Insert               = (
        (0x03000000:NameValue):Type = 12 (INTEGER)
        (0x03000000:NameValue):Text = '' (CHaraCTER)
      )
      (0x01000000:Name     ):Insert               = (
        (0x03000000:NameValue):Type = 5 (INTEGER)
        (0x03000000:NameValue):Text = '' (CHaraCTER)
      )
      (0x01000000:Name     ):Insert               = (
        (0x03000000:NameValue):Type = 5 (INTEGER)
        (0x03000000:NameValue):Text = '' (CHaraCTER)
      )
      (0x01000000:Name     ):Insert               = (
        (0x03000000:NameValue):Type = 5 (INTEGER)
        (0x03000000:NameValue):Text = 'GET /ThriftyAUHAirport/ThriftyAUHAirport.svc/ChargeCodesThrifty?Key=M28%4090R%40i%2A%40l24%2AE%2ASp3%406OT%40hsw9se36r HTTP/1.1
' (CHaraCTER)
      )
      (0x01000000:Name     ):RecoverableException = (
        (0x03000000:NameValue):File            = '/build/slot3/S1000_P/src/WebServices/WSLibrary/ImbWSRequest.cpp' (CHaraCTER)
        (0x03000000:NameValue):Line            = 655 (INTEGER)
        (0x03000000:NameValue):Function        = 'ImbWSRequest::makeWSRequest' (CHaraCTER)
        (0x03000000:NameValue):Type            = '' (CHaraCTER)
        (0x03000000:NameValue):Name            = '' (CHaraCTER)
        (0x03000000:NameValue):Label           = '' (CHaraCTER)
        (0x03000000:NameValue):Catalog         = 'BIPmsgs' (CHaraCTER)
        (0x03000000:NameValue):Severity        = 3 (INTEGER)
        (0x03000000:NameValue):Number          = 3152 (INTEGER)
        (0x03000000:NameValue):Text            = 'A Web Service request has detected a SOCKET error whilst invoking a web service located at host &1,on port &2,on path &3.' (CHaraCTER)
        (0x01000000:Name     ):Insert          = (
          (0x03000000:NameValue):Type = 5 (INTEGER)
          (0x03000000:NameValue):Text = 'login.thriftyuae.ae' (CHaraCTER)
        )
        (0x01000000:Name     ):Insert          = (
          (0x03000000:NameValue):Type = 2 (INTEGER)
          (0x03000000:NameValue):Text = '443' (CHaraCTER)
        )
        (0x01000000:Name     ):Insert          = (
          (0x03000000:NameValue):Type = 5 (INTEGER)
          (0x03000000:NameValue):Text = '/ThriftyAUHAirport/ThriftyAUHAirport.svc/ChargeCodesThrifty' (CHaraCTER)
        )
        (0x01000000:Name     ):SocketException = (
          (0x03000000:NameValue):File     = '/build/slot3/S1000_P/src/WebServices/WSLibrary/ImbSocket.cpp' (CHaraCTER)
          (0x03000000:NameValue):Line     = 1289 (INTEGER)
          (0x03000000:NameValue):Function = 'ImbSocketJNIManager::handleGeneralJavaException' (CHaraCTER)
          (0x03000000:NameValue):Type     = '' (CHaraCTER)
          (0x03000000:NameValue):Name     = '' (CHaraCTER)
          (0x03000000:NameValue):Label    = '' (CHaraCTER)
          (0x03000000:NameValue):Catalog  = 'BIPmsgs' (CHaraCTER)
          (0x03000000:NameValue):Severity = 3 (INTEGER)
          (0x03000000:NameValue):Number   = 3165 (INTEGER)
          (0x03000000:NameValue):Text     = 'An error occurred whilst performing an SSL socket operation' (CHaraCTER)
          (0x01000000:Name     ):Insert   = (
            (0x03000000:NameValue):Type = 5 (INTEGER)
            (0x03000000:NameValue):Text = 'connect' (CHaraCTER)
          )
          (0x01000000:Name     ):Insert   = (
            (0x03000000:NameValue):Type = 5 (INTEGER)
            (0x03000000:NameValue):Text = 'javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: 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 CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US is not trusted; internal cause is: 
    java.security.cert.CertPathValidatorException: Certificate chaining error' (CHaraCTER)
          )
        )
      )
    )
  )

-------------此部分稍后添加,代理重新启动后将显示当前错误日志---------------------- ------

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)