Https javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:PKIX路径生成失败

Https javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:PKIX路径生成失败,https,ssl-certificate,ibm-integration-bus,Https,Ssl Certificate,Ibm Integration Bus,在Linux中使用IIB10.19。我开发了一个通过HTTP请求节点调用HTTPs REST URL的应用程序。在HTTP请求节点的SSL选项卡中,当前的“协议”是TLS。在“允许的SSL密码”和“SSL客户端身份验证密钥别名”字段中,未写入任何内容“启用SSL证书主机名检查”和“启用证书吊销列表检查”都未选中 如果没有证书安装,它将无法工作。因此,我按照以下步骤创建密钥库,并在集成服务器级别将它们关联起来,其中UFISBRK是我的节点,TESTEG是服务器: keytool -genkey -

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

如果没有证书安装,它将无法工作。因此,我按照以下步骤创建密钥库,并在集成服务器级别将它们关联起来,其中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>

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

Himadri,您是否能够使用POSTMAN调用HTTP请求节点中配置的端点?两件事:1)您说“没有证书安装,它无法工作。”。有什么错误?它实际上应该可以工作,因为默认情况下,执行组根据JRE中的
cacerts
进行验证。2) 当您为TESTEG创建自己的信任存储时,不再使用JRE中的默认
cacerts
;因此,您必须将Go Daddy CA添加到您的测试信任存储中。@Rohan是的,它在postman中工作得非常好。@Himadri,Himadri-endpoitns证书…将其导入您配置为IIB使用的jks存储中。按照此链接进行导入。==>这里有一个检索证书的
openssl
命令:
openssl s_client-showcerts-servername login.thriftyuae.ae-connect login.thriftyuae.ae:443
。这是您必须添加到信任存储的两个证书。
( ['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)
          )
        )
      )
    )
  )