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

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

2、问题具体的异常

  具体异常如下:

  1. 2016/08/29 15:19:25 : INFO [com.bjazt.easysign.server.SyncServiceImpl] 进入同步接口:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <ROWDATA>
  3. <ROW xsi:type="aztCert" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <CERTID>SYNC110101198912129995</CERTID>
  5. <USERID>110101198912129995</USERID>
  6. <OPTYPE>A</OPTYPE>
  7. <PASSWORD>itrusyes</PASSWORD>
  8. <PFX>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</PFX>
  9. </ROW>
  10. </ROWDATA>
  11.  
  12. 2016/08/29 15:19:25 : INFO [com.bjazt.easysign.server.SyncServiceImpl] XML转为Bean,开始
  13. java.io.IOException: DER input, Integer tag error
  14. at sun.security.util.DerInputStream.getInteger(DerInputStream.java:151)
  15. at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1202)
  16. at java.security.KeyStore.load(KeyStore.java:1185)
  17. at com.esa2000.datasync.common.SystemUtil.validateCertificate(SystemUtil.java:483)
  18. at com.esa2000.datasync.document.XmlToPfxCert.toObject(XmlToPfxCert.java:45)
  19. at com.esa2000.datasync.document.XmlToBean.toObjectList(XmlToBean.java:31)
  20. at com.esa2000.datasync.document.XmlToBean.toObject(XmlToBean.java:47)
  21. at com.bjazt.easysign.server.SyncServiceImpl.sync(SyncServiceImpl.java:26)
  22. at com.bjazt.easysign.server.SyncServiceImpl.syncPfxCert(SyncServiceImpl.java:50)
  23. at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
  24. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  25. at java.lang.reflect.Method.invoke(Method.java:597)
  26. at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
  27. at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
  28. at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
  29. at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
  30. at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
  31. at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
  32. at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
  33. at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
  34. at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  35. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  36. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  37. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  38. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  39. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  40. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  41. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  42. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  43. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  44. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
  45. at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  46. at java.lang.Thread.run(Thread.java:662)
  47. 2016/08/29 15:19:25 : ERROR [com.esa2000.datasync.document.XmlToPfxCert]
  48. java.io.IOException: DER input, Integer tag error
  49. at sun.security.util.DerInputStream.getInteger(DerInputStream.java:151)
  50. at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1202)
  51. at java.security.KeyStore.load(KeyStore.java:1185)
  52. at com.esa2000.datasync.common.SystemUtil.validateCertificate(SystemUtil.java:483)
  53. at com.esa2000.datasync.document.XmlToPfxCert.toObject(XmlToPfxCert.java:45)
  54. at com.esa2000.datasync.document.XmlToBean.toObjectList(XmlToBean.java:31)
  55. at com.esa2000.datasync.document.XmlToBean.toObject(XmlToBean.java:47)
  56. at com.bjazt.easysign.server.SyncServiceImpl.sync(SyncServiceImpl.java:26)
  57. at com.bjazt.easysign.server.SyncServiceImpl.syncPfxCert(SyncServiceImpl.java:50)
  58. at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
  59. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  60. at java.lang.reflect.Method.invoke(Method.java:597)
  61. at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
  62. at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
  63. at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
  64. at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
  65. at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
  66. at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
  67. at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
  68. at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
  69. at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
  70. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  71. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  72. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  73. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  74. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  75. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  76. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  77. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  78. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  79. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
  80. at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  81. 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. 关于EF的一个简单Demo

       今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...

  2. json-lib——JsonConfig详细使用说明

    在使用json-lib包中JSONObject.fromObject(bean,cfg)时,可能出现以下几种情况: 1.(防止自包含)转换的对象包含自身对象,或者对象A下面挂了对象B,对象B下面又挂了 ...

  3. iOS--NSTimer设置定时器的两种方法

    //方法一: //创建定时器 NSTimer *timer=[NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(next ...

  4. JSON.stringify() / JSON.parse()

    JSON.stringify() 这个方法可以把javascript对象转换成json字符串. JSON.parse() 这个方法可以把 json 字符串转换成 javascript对象. [下面来看 ...

  5. android 修改 SwitchPreferenceCompat 高度,内边距,字体大小

    public class FontSizeSwitchPreferenceCompat extends SwitchPreferenceCompat { private Context mContex ...

  6. linux自用命令

    文件操作权限设置: chmod 777 文件名/文件夹名         拥有所有权限 http://www_xpc8_com/ chmod 755 文件名/文件夹名         属主有所有权限, ...

  7. vs2015帮助文档

    1)注释快捷键: CTRL + K - CTRL + C (注释) CTRL + K 然后 CTRL + U (取消注释) shift+"*"---------整段(取消)注释 2 ...

  8. JavaScript之数组方法整理

    Array概述      除了Object类型,最常用的类型:      实质:有序的数据列表,      特性:可以动态的调整数组的大小 创建数组的两种方式 构造函数创建方式  var arr = ...

  9. 安卓中級教程(3):ScrollView

    以上是scrollview的圖例,可見srollview是一種滑動功能的控件,亦是非常常見的控件. 一般寫法如下: package com.mycompany.viewscroller; import ...

  10. Visual Studio 2010编译时总是提示"调用目标发生了异常"的解决

    现象: 无论建立的是Win32 Console的解决方案,还是MFC的解决方案,重新打开Visual Studio 2010之后,编译时总是提示“调用的目标发生了异常” 解决: 1. 关闭Visual ...