在本地windows电脑和开发环境(linux) ,都不报错,但是在测试环境(linux) 上报错。

报错信息

  1. org.bouncycastle.openpgp.PGPException: Exception creating cipher
  2. at org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source)
  3. at org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source)
  4. at com.bfs.pgp.Encrypt.encrypt(Encrypt.java:206)
  5. at com.bfs.pgp.Encrypt.getEncryptedString(Encrypt.java:105)
  6. at org.apache.jsp.webapps.xxx.pages.xxx.XXXStart_jsp.getCryptedValue(XXXStart_jsp.java:26)
  7. at org.apache.jsp.webapps.xxx.pages.xxx.XXXStart_jsp._jspService(XXXStart_jsp.java:158)
  8. at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  9. at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  10. at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
  11. at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
  12. at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
  13. at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  14. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  15. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  16. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  17. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  18. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  19. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  20. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  21. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  22. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  23. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
  24. at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  25. at java.lang.Thread.run(Thread.java:722)
  26. Caused by: org.bouncycastle.openpgp.PGPException: cannot create cipher: No such algorithm: IDEA/OpenPGPCFB/NoPadding
  27. at org.bouncycastle.openpgp.operator.jcajce.OperatorHelper.createCipher(Unknown Source)
  28. at org.bouncycastle.openpgp.operator.jcajce.OperatorHelper.createStreamCipher(Unknown Source)
  29. at org.bouncycastle.openpgp.operator.jcajce.JcePGPDataEncryptorBuilder$MyPGPDataEncryptor.<init>(Unknown Source)
  30. at org.bouncycastle.openpgp.operator.jcajce.JcePGPDataEncryptorBuilder.build(Unknown Source)
  31. ... 24 more
  32. Caused by: java.security.NoSuchAlgorithmException: No such algorithm: IDEA/OpenPGPCFB/NoPadding
  33. at javax.crypto.Cipher.getInstance(Cipher.java:673)
  34. at javax.crypto.Cipher.getInstance(Cipher.java:580)
  35. at org.bouncycastle.jcajce.NamedJcaJceHelper.createCipher(Unknown Source)
  36. ... 28 more
  37. java.lang.NullPointerException
  38. at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:106)
  39. at sun.misc.CharacterEncoder.encode(CharacterEncoder.java:188)
  40. at com.bfs.pgp.Encrypt.getEncryptString(Encrypt.java:237)
  41. at com.bfs.pgp.Encrypt.getEncryptedString(Encrypt.java:106)
  42. at org.apache.jsp.webapps.xxxPayment.pages.xxxx.XXXStart_jsp.getCryptedValue(XXXStart_jsp.java:26)
  43. at org.apache.jsp.webapps.xxxPayment.pages.xxxx.XXXStart_jsp._jspService(XXXStart_jsp.java:158)
  44. at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  45. at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  46. at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
  47. at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
  48. at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
  49. at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  50. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  51. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  52. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  53. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  54. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  55. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  56. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  57. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  58. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
  59. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
  60. at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  61. at java.lang.Thread.run(Thread.java:722)

原因:

默认自带的policy.jar不支持gpg加密的功能。 需要替换jar

  1. 方法1 修改java.security

    先找到java的安装位置

windows下查看版本:(默认安装路径安装就不需要去配环境变量了)

  1. 1 java -version

windows下查看安装路径:

  1. 1 java -verbose

找到 jre/lib/security/java.security

检查是否有写入的权限为(644)没有的话授权

  1. vi jre/lib/security/java.security

新增

  1. security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider

保存完成在把文件的权限改为(444)

2、方法2

替换

  1. jre/lib/security/policy/limited/local_policy.jar
  2. jre/lib/security/policy/limited/US_export_policy.jar

并修改为权限(644)

来源

BouncyCastle Exception while creating cipher

gpg加解密异常的更多相关文章

  1. AES加解密异常java.security.InvalidKeyException: Illegal key size

    AES加解密异常 Java后台AES解密,抛出异常如下:java.security.InvalidKeyException: Illegal key size Illegal key size or ...

  2. 关于利用GPG加解密的实验

    GnuPG(GNU Privacy Guard,简称:GPG)为一款免费开源的使用非对称密钥加密(asymmetric cryptography)之软件,最初由Werner Koch开发,该软件使用非 ...

  3. 烂泥:gpg加解密软件学习

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 为什么要学习gpg呢?因为要在Linux下把一个邮箱的密码加密,不让其他人看到该邮箱真 ...

  4. 加解密 3DES AES RSA 简介 示例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. RSA 分段加解密【解决“不正确的长度”的异常】

    RSA 是常用的非对称加密算法.最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致. .NET Framework 中提供的 RSA 算法规定: 待加密的字节数不能超过密钥的 ...

  6. GPG(pgp)加解密中文完整教程

    一.介绍 我们都知道,互联网是不安全的,但其上所使用的大部分应用,如Web.Email等一般都只提供明文传输方式(用https.smtps等例外).所以,当我们需要传输重要文件时,应该对当中的信息加密 ...

  7. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  8. Java实验五报告——TCP传输及加解密

    一.实验内容 1.运行教材上TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TCP发送: 注:加密使用AES或者D ...

  9. java与IOS之间的RSA加解密

    很简单的一个需求,ipad端给密码RSA加密,传到java后台,解密.RSA加密算法是基于一个密钥对的,分为公钥和私钥,一般情况公钥加密,私钥解密,但也可私钥加密,公钥解密.还可以验签,就是先用私钥对 ...

随机推荐

  1. python学习-Day20

    目录 今日内容详细 作业讲解 re模块补充说明 findall的优先级查询 通过索引的方式单独获取分组内匹配到的数据 分组之后还可以给组起别名 split的优先级查询 collections模块 具名 ...

  2. 通俗易懂的ArcGis开发快速入门

    前言 本文主要介绍ArcGis的ArcEngine开发,学习时,我们需要放下心里障碍,那就是Gis开发只是普通的软件开发,并不需要专业的GIS知识,就是非常普通的,调用相关的C++开发的COM组件. ...

  3. XCTF练习题---MISC---Ditf

    XCTF练习题---MISC---Ditf flag:flag{Oz_4nd_Hir0_lov3_For3ver} 解题步骤: 1.观察题目,下载附件 2.这道题是安恒办的一场比赛题目,下载附件以后是 ...

  4. Linux C++ Reactor模式

    文件结构 reactor_main.cpp reactor_server.cpp reactor_server.h CMakeLists.txt CMakeLists.txt cmake_minimu ...

  5. Linux常用命令格式

    Linux命令格式 命令 选项 参数COMMAND [OPTIONS...] [ARGUMENTS...]COMMAND COMMAND COMMAND .... 选项:用于启用或关闭命令的某个或某些 ...

  6. 基本命令学习 -(4)链接文件:ln命令

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 在Windows系统中,快捷方式是指向原始文件的一个链接文件,原文件一旦被删除或剪切到其 ...

  7. OracleRAC ACFS安装与卸载

    目录 ACFS安装与卸载: 一.在RAC上手动安装ACFS/ADVM 模块的步骤如下: 1.验证内存中是否存在 ACFS/ADVM 模块: 2.用root用户重新安装ACFS/ADVM 模块: 3.A ...

  8. URL 是什么?

    URL 是什么? 本文写于 2020 年 5 月 16 日 URL 是什么?天天听到人家说到这个名词,那它到底是什么? URL 是统一资源定位符,Uniform Resource Locator. 俗 ...

  9. 探索ABP基础架构-下

    配置应用程序 ASP.NET Core 的配置系统提供了一个基于键值对的配置方法.它是一个可扩展的系统,可以从各种资源中读取键值对,例如 JSON 设置文件.环境变量.命令行参数等等. 设置配置值 默 ...

  10. Spring Boot整合模板引擎jsp

    jsp也算是一种模板引擎吧.整合jsp前,先说一下运行SpringBoot项目的几种方式 1. 运行SpringBoot项目的几种方式 1.1 使用内嵌Tomcat运行项目 在IDE中右键运行启动类, ...