Menu

Timestamp with Webservice

2012-10-01
2013-02-26
  • Eren Başaran

    Eren Başaran - 2012-10-01

    Hello everyone,

    May be it is so easy but i couldn't use signserver from webservice. Everything is okay for installation and quick start demo.

    java -jar timeStampClient.jar http://localhost:8080/signserver/process?workerName=TSA
    

    it works fine.

    But I'm trying to use timestamp service like a

    http://<IPAddress>:8080/signserver/tsa?signerId=1&data=signservertest
    

    then got an error like this:

    400 IOException: DEF length 105 object truncated by 93
    

    on the server side:

    14:19:06,957 INFO  [GenericProcessServlet] Recieved HTTP process request for worker 1, from ip 127.0.0.1
    14:19:06,964 ERROR [TimeStampSigner] IOException: 
    java.io.EOFException: DEF length 105 object truncated by 93
        at org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray(Unknown Source)
        at org.bouncycastle.asn1.ASN1InputStream.buildObject(Unknown Source)
        at org.bouncycastle.asn1.ASN1InputStream.readObject(Unknown Source)
        at org.bouncycastle.tsp.TimeStampRequest.<init>(Unknown Source)
        at org.bouncycastle.tsp.TimeStampRequest.<init>(Unknown Source)
        at org.signserver.module.tsa.TimeStampSigner.processData(TimeStampSigner.java:330)
        at org.signserver.ejb.WorkerSessionBean.process(WorkerSessionBean.java:293)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
        at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
        at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
        at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
        at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
        at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
        at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
        at $Proxy94.process(Unknown Source)
        at org.signserver.web.GenericProcessServlet.processRequest(GenericProcessServlet.java:364)
        at org.signserver.web.GenericProcessServlet.doPost(GenericProcessServlet.java:268)
        at org.signserver.web.GenericProcessServlet.doGet(GenericProcessServlet.java:286)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:662)
    14:19:06,965 INFO  [WorkerSessionBean] Illegal request calling signer with id 1 : IOException: DEF length 105 object truncated by 93
    14:19:06,965 INFO  [IWorkerLogger] AUDIT; DefaultTimeStampLogger; LOG_ID: 5d009718-90e9-4c88-9658-c4207956214b; CLIENT_IP: 127.0.0.1; REQUEST_FULLURL: http://localhost:8080/signserver/tsa?signerId=1&data=signservertest; RequestTime: 1349090346959; ResponseTime: 0; TimeStamp: 1349090346964; PKIStatus: ${TSA_PKISTATUS}; PKIFailureInfo: ${TSA_PKIFAILUREINFO}; TSA_POLICYID: ${TSA_POLICYID}; SIGNER_CERT_SERIALNUMBER: 782bc04b93b0009b; SIGNER_CERT_ISSUERDN: CN=DSS Root CA 10,OU=Testing,O=SignServer,C=SE; TIMESTAMPREQUEST_ENCODED: ${TSA_TIMESTAMPREQUEST_ENCODED}; TSA_TIMESTAMPRESPONSE_ENCODED: ${TSA_TIMESTAMPRESPONSE_ENCODED}; PURCHASED: ${PURCHASED}; TSA_EXCEPTION: IOException: DEF length 105 object truncated by 93; EXCEPTION: IOException: DEF length 105 object truncated by 93
    

    is anybody help me?

    thanks

     
  • Markus Kilås

    Markus Kilås - 2012-10-02

    Hello ernbsrn,

    The TimeStampSigner expects the data to be an encodeded TimeStampReq as specified in RFC#3161. That is why it is failing when you only provide "signservertest" as data.

    The RFC specifys the protocol between the timestamp client and server and where SignServer is only the server part. The SignServer timestamp client (that you tried) is an example client that is provided for testing purposes.

    Best regards,
    Markus

     
  • Eren Başaran

    Eren Başaran - 2012-10-02

    Hello Markus,

    Thanks for your answer. Actually I have another problem with signserver_lgpl_v3_version_3_0. When I did the same senario, I got different exception:

    14:52:04,767 ERROR [[TSAHTTPServlet]] Servlet.service() for servlet TSAHTTPServlet threw exception
    java.lang.NullPointerException
        at org.bouncycastle.tsp.TimeStampRequest.getEncoded(Unknown Source)
        at org.signserver.web.TSAHTTPServlet.doGet(TSAHTTPServlet.java:142)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:662)
    

    For my first question, I look at the SignServer-Client-CLI.jar codes. I understand what is the problem.

    Thank you so much.

     
  • Markus Kilås

    Markus Kilås - 2012-10-03

    Hello ernbsrn,

    signserver_lgpl_v3_version_3_0

    That is a very old version. I would recommend you to try with the latest SignServer 3.2.3 version and see if you get the same issue.

    Best regards,
    Markus

    PrimeKey Solutions offers a commercial EJBCA & SignServer support subscription and training. Please see www.primekey.se or contact info@primekey.se for more information. 
    http://www.primekey.se/Services/Support/
    http://www.primekey.se/Services/Training/

     

Log in to post a comment.