1、首先我向大家介绍一下我做的东西,发生这个异常的情况。

  我做的是一个电签的系统,在调用某公司的API生成证书,然后与安证通进行同步证书的任务。

2、问题具体的异常

  具体异常如下:

2016/08/29 15:19:25 : INFO [com.bjazt.easysign.server.SyncServiceImpl] 进入同步接口:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ROWDATA>
<ROW xsi:type="aztCert" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CERTID>SYNC110101198912129995</CERTID>
<USERID>110101198912129995</USERID>
<OPTYPE>A</OPTYPE>
<PASSWORD>itrusyes</PASSWORD>
<PFX>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</PFX>
</ROW>
</ROWDATA> 2016/08/29 15:19:25 : INFO [com.bjazt.easysign.server.SyncServiceImpl] 将XML转为Bean,开始
java.io.IOException: DER input, Integer tag error
at sun.security.util.DerInputStream.getInteger(DerInputStream.java:151)
at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1202)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.esa2000.datasync.common.SystemUtil.validateCertificate(SystemUtil.java:483)
at com.esa2000.datasync.document.XmlToPfxCert.toObject(XmlToPfxCert.java:45)
at com.esa2000.datasync.document.XmlToBean.toObjectList(XmlToBean.java:31)
at com.esa2000.datasync.document.XmlToBean.toObject(XmlToBean.java:47)
at com.bjazt.easysign.server.SyncServiceImpl.sync(SyncServiceImpl.java:26)
at com.bjazt.easysign.server.SyncServiceImpl.syncPfxCert(SyncServiceImpl.java:50)
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
2016/08/29 15:19:25 : ERROR [com.esa2000.datasync.document.XmlToPfxCert]
java.io.IOException: DER input, Integer tag error
at sun.security.util.DerInputStream.getInteger(DerInputStream.java:151)
at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1202)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.esa2000.datasync.common.SystemUtil.validateCertificate(SystemUtil.java:483)
at com.esa2000.datasync.document.XmlToPfxCert.toObject(XmlToPfxCert.java:45)
at com.esa2000.datasync.document.XmlToBean.toObjectList(XmlToBean.java:31)
at com.esa2000.datasync.document.XmlToBean.toObject(XmlToBean.java:47)
at com.bjazt.easysign.server.SyncServiceImpl.sync(SyncServiceImpl.java:26)
at com.bjazt.easysign.server.SyncServiceImpl.syncPfxCert(SyncServiceImpl.java:50)
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)

 3、解决问题

  错误的原因是证书的申请是pkcs7格式的生成,但是安证通同步解析用到的是pkcs12,造成编码解码不一致的问题。

  起初就是jar包的冲突问题,bcprov-jdk15-1.46.jar没有向下兼容bcprov-jdk15-1.43.jar,因为这其中的DERSequence方法的构造方法不同。大家可以自行的下载看看。

  最后我们是在申请证书之后,用证书去获取这个pfx格式的编码,然后去用安证通同步,这样就解决了这个问题。(因为这是第三方的东西,所以要和第三方进行沟通,他们提供了一个新的方法来获取证书的pfx格式编码)。

  4、总结

  遇见jar包冲突的问题,解决的根本方法就是去掉冲突的jar,留下一个我们用到的jar包,否则,就算解决了,项目上线也会有很多的问题的。

  5、美诗美句

  少年不识愁滋味,爱上层楼,爱上层楼,为赋新词强说愁。

  而今识尽愁滋味,欲说还秀,欲说还休,却道天凉好个秋。

  

DER input, Integer tag error的异常处理的更多相关文章

  1. 支付宝APP支付开发- IOException : DER input, Integer tag error

    支付宝APP支付Java开发报错: 1 java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: I ...

  2. input textbox tag

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAb8AAAB0CAIAAACaKavmAAAJ0klEQVR4nO3dO2wb5wHA8YOHIkOLrk

  3. <input type="file"> change事件异常处理办法

    问题:最近发现一个奇怪的bug, 那就是在上传图片需要采用input type=file来进行文件选择.由于为了适应美工的UI图,所以是把选择文件的input框隐藏了.然后通过另外一个按钮的点击事件来 ...

  4. 前后端java+vue 实现rsa 加解密与摘要签名算法

    RSA 加密.解密.签名.验签.摘要,前后端java+vue联调测试通过 直接上代码 // 注意:加密密文与签名都是唯一的,不会变化.// 注意:vue 端密钥都要带pem格式.java 不要带pem ...

  5. springMVC整理04--文件上传 & 拦截器 & 异常处理

    1.  文件上传 SpringMVC 的文件上传非常简便,首先导入文件上传依赖的 jar: <!-- 文件上传所依赖的 jar 包 --> <dependency> <g ...

  6. Python异常和异常处理

    Python异常和异常处理2017年12月20日 22:17:08 Megustas_JJC 阅读数:114 标签: python 异常处理 更多 个人分类: Python 版权声明:本文为博主原创文 ...

  7. Java中的异常处理try catch(第八周课堂示例总结)

    异常处理 使用Java异常处理机制: 把可能会发生错误的代码放进try语句块中. 当程序检测到出现了一个错误时会抛出一个异常对象. 异常处理代码会捕获并处理这个错误. catch语句块中的代码用于处理 ...

  8. python异常处理(基础)

    之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...

  9. 结对编程之Fault、Error、Failure

    1.结对说明 结对对象:刘世麟  博客地址:http://www.cnblogs.com/liushilin/ 双方贡献:1:1 2.题目要求  构造程序,分别是:         •不能触发Faul ...

随机推荐

  1. ****CI框架源码阅读笔记7 配置管理组件 Config.php

    http://blog.csdn.net/ohmygirl/article/details/41041597 一个灵活可控的应用程序中,必然会存在大量的可控参数(我们称为配置),例如在CI的主配置文件 ...

  2. HYSBZ 2002 分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 题意:中文题面 思路:考虑分块,每个位置维护一个跳出该块需要的步数cnt[],和跳出 ...

  3. ArrayList数组列表

    ArrayList数组列表 Collection接口和List接口的区别 List接口扩充了Collection接口,添加了索引相关的方法. code example Object get(int i ...

  4. 【Unity3d游戏开发】unity3D OnTriggerEnter和OnCollisionEnter的一点个人心得(转载)

    此文为转载,因为最近在做U3D,有一些概念弄得不是很清楚,看到这篇博客讲的不错,就转载过来了,方便自己随时查看. ------------------------------------------- ...

  5. BZOJ4078 : [Wf2014]Metal Processing Plant

    设$D(A)\leq D(B)$,从小到大枚举$D(A)$,双指针从大到小枚举$D(B)$. 那么对于权值不超过$D(A)$的边,可以忽略. 对于权值介于$(D(A),D(B)]$之间的边,需要满足那 ...

  6. 【BZOJ】3751: [NOIP2014]解方程

    题意 求\(\sum_{i=0}^{n} a_i x^i = 0\)在\([1, m]\)内的整数解.(\(0 < n \le 100, |a_i| \le 10^{10000}, a_n \n ...

  7. YACC和BISON学习心得

    最近学习了YACC和BISON两个工具,参考书籍<YACC和BISON>,通过里面的例子,明白了如何编写自己的解释性语言.

  8. CSS will-change 属性

    介绍 如果你注意到在webkit的浏览器上“flicker”一些CSS操作(尤其是变形和动画方面的)的表现,你很可能之前就注意过硬件加速了 CPU.GPU和硬件加速 硬件加速意味着Graphics P ...

  9. CF #376 (Div. 2) C. dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  10. 使用Git进行项目管理

    首先在https://git.oschina.net进行注册以及登陆 登陆进去之后,如果想要创建项目,可以在 点击加号按钮,进行项目创建 3.这里以创建私有项目为例: 输入完成后,点击“创建”,进入下 ...