1 Reply Latest reply on Dec 8, 2003 3:43 PM by 3004

    javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.

    3004

      I have this problem by SSL connection.
      The code works without problem on WLS 5.1 and 6.1. But not on 7.x

      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <clientInfo settings applied>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Filtering JSSE SSLSocket>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLIOContextTable.addContext(ctx): 2936600>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLSocket will be Muxing>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLIOContextTable.findContext(is): 5266651>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <write SSL_20_RECORD>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLFilter.isActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <isMuxerActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLFilter.isActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <3323925 readRecord()>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <3323925 received HANDSHAKE>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <HANDSHAKEMESSAGE: ServerHello>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLFilter.isActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <isMuxerActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLFilter.isActivated: false>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <3323925 readRecord()>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <3323925 received HANDSHAKE>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <HANDSHAKEMESSAGE: Certificate>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Performing hostname validation checks: test.schufa-online.de>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <validationCallback: validateErr = 16>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> < cert[0] = Serial number: 0
      Issuer:C=DE, ST=Hessen, L=Wiesbaden, O=Schufa Holding AG, CN=test.schufa-online.de
      Subject:C=DE, ST=Hessen, L=Wiesbaden, O=Schufa Holding AG, CN=test.schufa-online.de
      Not Valid Before:Mon Mar 24 10:42:24 CET 2003
      Not Valid After:Sun Dec 18 10:42:24 CET 2005
      Signature Algorithm:MD5withRSA
      >
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Validation error = 16>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Certificate chain is untrusted>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <SSLTrustValidator returns: 16>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Trust status (16): CERT_CHAIN_UNTRUSTED>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <NEW ALERT: com.certicom.tls.record.alert.Alert@2afee5 Severity:
      2 Type: 42>
      java.lang.Throwable: Stack trace
      at weblogic.security.utils.SSLSetup.debug(SSLSetup.java:245)
      at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
      Source)
      at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
      Source)
      at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
      at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
      at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
      Source)
      at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
      Source)
      at com.certicom.tls.record.WriteHandler.write(Unknown Source)
      at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
      at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
      at java.io.FilterOutputStream.flush(FilterOutputStream.java:121)
      at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:97)
      at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:168)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.HTTPConnectorXXX.doRequest(HTTPConnectorXXX.java
      :367)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.ConnectorXXX.doRequest(ConnectorXXX.java:72)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.CertificatorXXX.certificateString(CertificatorXX
      X.java:172)
      at com.netlife.credit.azk.access.connectors.schufa.CertPackerSCHUFAConnector.sendRequest(CertPackerSCHUFAConnect
      or.java:219)
      at com.netlife.credit.azk.access.schufa.SCHUFAOnline.getReaktionFromSCHUFA(SCHUFAOnline.java:86)
      at com.netlife.credit.azk.access.schufa.SCHUFAAccess.getAuskunft(SCHUFAAccess.java:158)
      at com.netlife.credit.azk.business.schufa.SCHUFABusiness.getAuskunft(SCHUFABusiness.java:154)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean.getAuskunft(SCHUFAControlBean.java:148)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl.getAuskunft(SCHUFAControlBean_gmf80x_EO
      Impl.java:160)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl_WLSkel.invoke(Unknown
      Source)
      at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
      at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
      at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
      at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
      at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
      at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <write ALERT offset = 0 length = 2>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <close(): 3323925>
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <Exception during handshake, stack trace follows>
      javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable
      certificate was received.
      at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown
      Source)
      at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
      Source)
      at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
      Source)
      at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
      Source)
      at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
      at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
      at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
      Source)
      at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
      Source)
      at com.certicom.tls.record.WriteHandler.write(Unknown Source)
      at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
      at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
      at java.io.FilterOutputStream.flush(FilterOutputStream.java:121)
      at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:97)
      at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:168)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.HTTPConnectorXXX.doRequest(HTTPConnectorXXX.java
      :367)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.ConnectorXXX.doRequest(ConnectorXXX.java:72)
      at com.netlife.credit.azk.access.connectors.schufa.replacements.CertificatorXXX.certificateString(CertificatorXX
      X.java:172)
      at com.netlife.credit.azk.access.connectors.schufa.CertPackerSCHUFAConnector.sendRequest(CertPackerSCHUFAConnect
      or.java:219)
      at com.netlife.credit.azk.access.schufa.SCHUFAOnline.getReaktionFromSCHUFA(SCHUFAOnline.java:86)
      at com.netlife.credit.azk.access.schufa.SCHUFAAccess.getAuskunft(SCHUFAAccess.java:158)
      at com.netlife.credit.azk.business.schufa.SCHUFABusiness.getAuskunft(SCHUFABusiness.java:154)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean.getAuskunft(SCHUFAControlBean.java:148)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl.getAuskunft(SCHUFAControlBean_gmf80x_EO
      Impl.java:160)
      at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl_WLSkel.invoke(Unknown
      Source)
      at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
      at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
      at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
      at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
      at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
      at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
      ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer> <ExecuteThread:
      '6' for queue: 'default'> <kernel
      identity> <> <000000> <NEW ALERT: com.certicom.tls.record.alert.Alert@339b07 Severity:
      2 Type: 40>
      java.lang.Throwable: Stack trace

      What does it mean "SSLTrustValidator returns: 16"?
      How ist possible to turn this check off?

        • 1. Re: javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.
          3004

          This error means that the certificate received from the peer is not trusted. SSL
          clients running on server use server's trust configuration, so you would need
          to add the certificate for the issuer: "C=DE, ST=Hessen, L=Wiesbaden, O=Schufa
          Holding AG, CN=test.schufa-online.de" to the server's trust keystore.

          Pavel.

          "Valeri" <valar@rambler.ru> wrote:
          >
          I have this problem by SSL connection.
          The code works without problem on WLS 5.1 and 6.1. But not on 7.x

          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <clientInfo settings applied>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Filtering JSSE SSLSocket>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLIOContextTable.addContext(ctx): 2936600>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLSocket will be Muxing>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLIOContextTable.findContext(is): 5266651>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <write SSL_20_RECORD>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLFilter.isActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <isMuxerActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLFilter.isActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <3323925 readRecord()>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <3323925 received HANDSHAKE>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <HANDSHAKEMESSAGE: ServerHello>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLFilter.isActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <isMuxerActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLFilter.isActivated: false>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <3323925 readRecord()>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <3323925 received HANDSHAKE>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <HANDSHAKEMESSAGE: Certificate>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Performing hostname validation checks: test.schufa-online.de>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <validationCallback: validateErr = 16>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> < cert[0] = Serial number: 0
          Issuer:C=DE, ST=Hessen, L=Wiesbaden, O=Schufa Holding AG, CN=test.schufa-online.de
          Subject:C=DE, ST=Hessen, L=Wiesbaden, O=Schufa Holding AG, CN=test.schufa-online.de
          Not Valid Before:Mon Mar 24 10:42:24 CET 2003
          Not Valid After:Sun Dec 18 10:42:24 CET 2005
          Signature Algorithm:MD5withRSA
          >
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Validation error = 16>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Certificate chain is untrusted>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <SSLTrustValidator returns: 16>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Trust status (16): CERT_CHAIN_UNTRUSTED>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <NEW ALERT: com.certicom.tls.record.alert.Alert@2afee5
          Severity:
          2 Type: 42>
          java.lang.Throwable: Stack trace
          at weblogic.security.utils.SSLSetup.debug(SSLSetup.java:245)
          at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
          Source)
          at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
          Source)
          at com.certicom.tls.record.ReadHandler.interpretContent(Unknown
          Source)
          at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
          Source)
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
          Source)
          at com.certicom.tls.record.WriteHandler.write(Unknown Source)
          at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
          at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
          at java.io.FilterOutputStream.flush(FilterOutputStream.java:121)
          at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:97)
          at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:168)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.HTTPConnectorXXX.doRequest(HTTPConnectorXXX.java
          :367)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.ConnectorXXX.doRequest(ConnectorXXX.java:72)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.CertificatorXXX.certificateString(CertificatorXX
          X.java:172)
          at com.netlife.credit.azk.access.connectors.schufa.CertPackerSCHUFAConnector.sendRequest(CertPackerSCHUFAConnect
          or.java:219)
          at com.netlife.credit.azk.access.schufa.SCHUFAOnline.getReaktionFromSCHUFA(SCHUFAOnline.java:86)
          at com.netlife.credit.azk.access.schufa.SCHUFAAccess.getAuskunft(SCHUFAAccess.java:158)
          at com.netlife.credit.azk.business.schufa.SCHUFABusiness.getAuskunft(SCHUFABusiness.java:154)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean.getAuskunft(SCHUFAControlBean.java:148)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl.getAuskunft(SCHUFAControlBean_gmf80x_EO
          Impl.java:160)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl_WLSkel.invoke(Unknown
          Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <write ALERT offset = 0 length = 2>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <close(): 3323925>
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <Exception during handshake, stack trace follows>
          javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt
          or unuseable
          certificate was received.
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown
          Source)
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
          Source)
          at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
          Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
          Source)
          at com.certicom.tls.record.ReadHandler.interpretContent(Unknown
          Source)
          at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
          Source)
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
          Source)
          at com.certicom.tls.record.WriteHandler.write(Unknown Source)
          at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
          at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
          at java.io.FilterOutputStream.flush(FilterOutputStream.java:121)
          at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:97)
          at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:168)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.HTTPConnectorXXX.doRequest(HTTPConnectorXXX.java
          :367)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.ConnectorXXX.doRequest(ConnectorXXX.java:72)
          at com.netlife.credit.azk.access.connectors.schufa.replacements.CertificatorXXX.certificateString(CertificatorXX
          X.java:172)
          at com.netlife.credit.azk.access.connectors.schufa.CertPackerSCHUFAConnector.sendRequest(CertPackerSCHUFAConnect
          or.java:219)
          at com.netlife.credit.azk.access.schufa.SCHUFAOnline.getReaktionFromSCHUFA(SCHUFAOnline.java:86)
          at com.netlife.credit.azk.access.schufa.SCHUFAAccess.getAuskunft(SCHUFAAccess.java:158)
          at com.netlife.credit.azk.business.schufa.SCHUFABusiness.getAuskunft(SCHUFABusiness.java:154)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean.getAuskunft(SCHUFAControlBean.java:148)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl.getAuskunft(SCHUFAControlBean_gmf80x_EO
          Impl.java:160)
          at com.netlife.credit.azk.control.schufa.SCHUFAControlBean_gmf80x_EOImpl_WLSkel.invoke(Unknown
          Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
          ####<Dec 5, 2003 7:18:27 PM CET> <Debug> <TLS> <perrin> <AdminServer>
          <ExecuteThread:
          '6' for queue: 'default'> <kernel
          identity> <> <000000> <NEW ALERT: com.certicom.tls.record.alert.Alert@339b07
          Severity:
          2 Type: 40>
          java.lang.Throwable: Stack trace

          What does it mean "SSLTrustValidator returns: 16"?
          How ist possible to turn this check off?