Using 2-way SSL for HTTP Channel, causes error : java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

Using 2-way SSL for HTTP Channel, causes error : java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

book

Article ID: KB0070617

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description


Description:
=========
Using 2-way SSL for HTTP Channel, causes error : java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

Environment:
==========
TIBCO Product name and version: TIBCO BusinessEvents (BE) 5.x
Operating System(s): All

Symptoms:
========
Using 2-way SSL for HTTP Channel, causes error : java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.

Complete Error trace is:
+++++++++++++++++
Jul 26, 2013 10:59:49 AM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[org.apache.coyote.http11.Http11NioProtocol-8091]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[org.apache.coyote.http11.Http11NioProtocol-8091]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:335)
        at com.tibco.cep.driver.http.server.impl.tomcat.TomcatServer$1.run(SourceFile:540)
        at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 8 more
Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
        at sun.security.util.DerInputStream.getLength(DerInputStream.java:561)
        at sun.security.util.DerValue.init(DerValue.java:365)
        at sun.security.util.DerValue.&ltinit>(DerValue.java:320)
        at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1220)
        at java.security.KeyStore.load(KeyStore.java:1214)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:407)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:306)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:565)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:505)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:490)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
        at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
        ... 9 more
+++++++++++++++++
 

Resolution


The error indicates that the keystore used is of type JKS but in BE it’s type is specified as PKCS12. Locate the Identity artifact in project and set ‘File Type’ correctly for the given keystore.

Issue/Introduction

Using 2-way SSL for HTTP Channel, causes error : java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.