java der decode_支付宝进行签名时爆DER input, Integer tag error异常
今天在做支付宝生成订单时需要进行字符串签名。签名的时候报了错:
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DER input, Integer tag error
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:200)
at java.security.KeyFactory.generatePrivate(KeyFactory.java:342)
at com.alipay.util.SignUtils.sign(SignUtils.java:22)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:101)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:503)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.security.InvalidKeyException: IOException : DER input, Integer tag error
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:344)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:350)
at sun.security.rsa.RSAPrivateCrtKeyImpl.(RSAPrivateCrtKeyImpl.java:74)
at sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:58)
at sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:299)
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:196)
... 35 more
在签名里的privateKey里纠结了很久。原来这里不只是我先前的rsa_private_key.pem里的内容。而是需要在linux里再次进行pkcs8加密一下,然后取出首位后的内容
执行口令如:openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -outform PEM outform
私钥是图中红框里的内容(记得要去除换行和空格哦。直接replace掉 ):
java der decode_支付宝进行签名时爆DER input, Integer tag error异常相关推荐
- java调用R语言传参数时,RserveException: eval failed Syntax error
首先将执行的source语句如下 source('D:/xxx/xxx/xxx/py/test.R') ,如果有函数,则继续执行如下 myFunc(1,2) //myFunc是R脚本中的方法名,其中参 ...
- JAVA实现的支付宝扫描二维码支付
支付项目采用springMvc+Dubbo架构实现,只对外提供接口 原文地址:http://blog.52itstyle.com/archives/169/ 前期酝酿准备 最近项目中要上线支付功能.前 ...
- Android客户端和Java服务器端集成支付宝
移动端集成支付,似乎是每个App都可能面临的一件事.所有项目都在谈盈利模式,而从C端获取现金流是盈利中最重要的一个途径之一. 当前大家主要采用微信支付和阿里支付集成到自己的移动应用,虽然官方提供一些文 ...
- java接入第三方支付宝接口
注册沙箱账号 到蚂蚁金服注册开发者账号,注册地址:https://open.alipay.com,用你的 支付宝 账号扫码登录,完善个人信息,选择服务类型. 根据情况选择接入方式,我们这里选择自研开发 ...
- Java使用RSA加密解密签名及校验
RSA加密解密类: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; i ...
- 使用加密签名时遇到的一个问题
2019独角兽企业重金招聘Python工程师标准>>> 使用加密签名时遇到的一个问题: com.koalii.svs.SecretStoreException: load pfx f ...
- C# 给PDF签名时添加时间戳的2种方法(附VB.NET代码)
在PDF添加签名时,支持vb.net教程添加可信时间c#教程戳来保证文档的法python基础教程律效应.本文,将通过C#程序代码java基础教程介绍如何添加可sql教程信时间戳,可通过2种方法来实现. ...
- Java应用服务系统安全性,签名和验签浅析
1 前言 随着互联网的普及,分布式服务部署越来越流行,服务之间通信的安全性也是越来越值得关注.这里,笔者把应用与服务之间通信时,进行的的安全性相关,加签与验签,进行了一个简单的记录. 2 安全性痛点 ...
- 支付宝java代码_支付宝回调JAVA版代码
支付宝回调: 1 //这个是支付宝回调的信息 2 @RequestMapping("alipay_callback.do") 3 @ResponseBody 4 public Ob ...
- Pytorch 训练与测试时爆显存(cuda out of memory)的终极解决方案,使用cpu(勿喷)
Pytorch 训练与测试时爆显存(cuda out of memory)的终极解决方案,使用cpu(勿喷) 参见了很多方法,都没有用. 简单点,直接把gpu设成-1
最新文章
- C#从SQL server数据库中读取l图片和存入图片
- Tensorflow【实战Google深度学习框架】—使用 TensorFlow 实现模型
- Spark DataFrameDataSet
- 推送改变世界!Push提高用户活跃度的三不原则
- 大学计算机基础知识点图文,大学计算机基础知识点超详细总结
- Qt4_子类化QMainWindow
- win7下添加网络计算机,win7怎么添加网络打印机 win7添加网络打印机步骤【详解】...
- 哪些情况会造成小程序违规或下架
- NLP自然语言处理CRF详解
- 好莱坞大片! 为躲避死亡威胁, 只用15步, 这个密码朋克大叔就从世界消失了......
- mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例
- java + ffmped + mencoder搭建视频处理平台
- 教你如何购买笔记本电池
- Qt 画图工具擦除操作,恢复透明色
- VIJOS P1351 棋盘制作
- 热门商务台式计算机,商务台式机也能如此优雅 ThinkCentre E95z体验
- 月末使用期间损益结转
- vsftpd配置连接远程linux服务器,ftprush报错:“530 login incorrect ”
- AE基础动画参数之制作跳动音符
- 几个我听过但不懂的名词