首页 新闻 会员 周边

JAVA实现PGP加密,求助,为什么在服务器运行发生参数异常

0
悬赏园豆:20 [已解决问题] 解决于 2018-09-07 13:15

  

Throwable error
java.lang.IllegalArgumentException: KeyBundle does not contain a private key.
at cryptix.openpgp.provider.PGPEncryptedMessageImpl.decrypt(PGPEncryptedMessageImpl.java:298)
at com.xdream.uuas.dbs.net.util.PGPUtil.decrypt(PGPUtil.java:219)
at com.xdream.uuas.dbs.net.DbsFacade.balanceInquiry(DbsFacade.java:127)
at com.xdream.uuas.dbs.net.TestDbsFacade.testBalanceInquiry(TestDbsFacade.java:63)
at com.xdream.uuas.dbs.net.servlet.testBalanceInquiry.doGet(testBalanceInquiry.java:22)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

码农编程的主页 码农编程 | 初学一级 | 园豆:68
提问于:2018-07-06 11:12
< >
分享
最佳答案
0

私钥对密文解密的时候出错了?解决了吗

收获园豆:20
番茄先生 | 小虾三级 |园豆:911 | 2018-07-09 14:54

并没有!

码农编程 | 园豆:68 (初学一级) | 2018-07-09 14:56

@码农编程: https://blog.csdn.net/qq_22778717/article/details/78750948  写的挺详细的,

番茄先生 | 园豆:911 (小虾三级) | 2018-07-09 15:10

@番茄vs西红柿: 好的,谢谢你提供的资料,我已经查看了,与我的代码是一样的,我在本地测试过相关流程没有问题,不论是加密或解密没有出现问题,可放入服务器中运行时发生异常。

码农编程 | 园豆:68 (初学一级) | 2018-07-09 15:16

@码农编程: 那只有一种原因了,关于公钥私钥的文件路径存在问题,linux上你当前的用户没有读写文件的权限,导致读取私钥文件读取不到,所以报了你这个错误,在KeyBundle没有找到私钥

番茄先生 | 园豆:911 (小虾三级) | 2018-07-09 15:25

@番茄vs西红柿: 感谢你的解答,是的,在我仔细检查过公私钥路径时发现,服务器中的公私钥路径放反了,但即便是这样我依然不可以解密!

码农编程 | 园豆:68 (初学一级) | 2018-07-09 15:36

@码农编程: 不可解密是因为没有找到服务器(客户端)没有找到私钥,你可以看看你是否拥有读写权限,或者在你获取私钥的地方写一个log重新发布一下,然后打印出来看看是不是私钥的问题。在不好用我也想不到是哪里有问题了!

番茄先生 | 园豆:911 (小虾三级) | 2018-07-09 15:45

@番茄vs西红柿: 

我查看过权限了没有问题,你可以看一下报文!

码农编程 | 园豆:68 (初学一级) | 2018-07-09 17:04

@码农编程: 是不是服务器上jar不全呀,你对比本地和服务器的jar,,,,throwable error 程序直接荡了,

番茄先生 | 园豆:911 (小虾三级) | 2018-07-09 17:27

@番茄vs西红柿: 本地与服务器的jar我已经仔细对比过了,很明显并不是jar的原因,Throwable是我捕获异常的类型!

码农编程 | 园豆:68 (初学一级) | 2018-07-09 17:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册