文章目录

  • 一、解决方案1
    • 1. 调研
    • 2. 常见的异常
    • 3. 安全性机制导致的访问https会报错
    • 4. 解决方案
    • 5. 操作流程
    • 6. 移动jar配置策略
  • 二、解决方案2
    • 2.1. 声明
    • 2.2. 编辑策略文件
    • 2.3. 修改默认属性
一、解决方案1

声明:jdk1.8已经经过线上环境使用

1. 调研

JDK8的加密策略存在限制版本和无限制版本,随着越来越多的第三方工具只支持 JDK8,业务环境中,发现有些方法会报异常。

2. 常见的异常

1、使用AES加解密
异常1:
java.security.InvalidKeyException: Illegal key size or default parameters
异常2:
java.lang.SecurityException: JCE cannot authenticate the provider BC

3. 安全性机制导致的访问https会报错

Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure,accessUrl

这是因为某些国家的进口管制限制,JDK默认的加解密有一定的限制。

4. 解决方案

比如默认不允许 256 位密钥的 AES 加解密,解决方法就下载官方JCE无限制强度加密策略文件,覆盖即可。
官方网站提供了JCE无限制权限策略文件的下载:
JDK6的下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

JDK7的下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK8的下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

5. 操作流程

从官网下载jce策略文件(补丁包),进入到jdkjre\lib\security目录 ,覆盖原有策略文件

注:如果测试通过下面的第6步可以跳过,如果不行请继续操作

6. 移动jar配置策略

第1步:
把包bcprov-jdk15on-1.56.jar复制一个,放到linux的$JAVA_HOME/jre\lib\ext下面

第2步:
配置我的安全属性文件

vim /$JAVA_HOME/jre/lib/security/java.security
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
#下面这一行是我新添加的
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider


重启服务再次测试

二、解决方案2
2.1. 声明

官网说从jdk的某个版本以后,只需简单配置策略文件配置即可

从Java 1.8.0_151和1.8.0_152开始,为JVM启用无限制强度管辖策略 有了一种新的更简单的方法。如果不启用此功能,则不能使用AES-256:

2.2. 编辑策略文件
vim /$JAVA_HOME/jre/lib/security/java.security
2.3. 修改默认属性

在 jre/lib/security 文件夹中查找文件 java.security,现在用文本编辑器打开java.security,并找到定义java安全性属性crypto.policy的行,它可以有两个值limited或unlimited - 默认值是limited。将其设置为:

crypto.policy=unlimited

现在重新启动指向JVM的Java应用程序即可。

关于JDK8采坑JCE加密限制版本问题相关推荐

  1. Ubuntu18安装微信(deepin-wine版本)完整过程以及采坑记录

    Ubuntu18安装微信(deepin-wine版本)完整过程以及采坑记录(亲测运行) git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubu ...

  2. react-native-webrtc之采坑之旅

    目标 1.实现APP与WEB端安全帽功能通过摄像头的实时通信,再web端可以查看手机摄像头获取的图像,手机上也可实时显示画面: 2.连接.下线 3.切换分辨率.前后摄像头 使用的相关工具(没有一个不踩 ...

  3. 熊海CMS_V1.0代码审计与漏洞分析及采坑日记(一)--文件包含漏洞

    前言 最近几天在给协会的学弟讲代码审计入门相关内容,便找了这个熊海CMS_V1.0来教学,结果在这个过程中遇到蛮多问题的,于是这篇文章详细记录了对熊海CMS_V1.0从搭建到审计与漏洞分析的过程,其中 ...

  4. 微信支付采坑记录(java后端 一:微信支付调用从哪一步开始)

    普通商户模式微信支付之APP支付统一下单: 前言: 最近项目开发到微信支付的模块,经过一周的不懈努力,虽然微信支付流程跑通了,但当时的那些坑是真的烦,为了避免自己以后犯同样的错误,当然还有各位新接触微 ...

  5. VS2015+MySql+EF6采坑经验总结

    原文:VS2015+MySql+EF6采坑经验总结 背景:VS2015+MySql+EF6(DB First) 采坑顺序:按照以前的记忆,操作依次如下: 1,安装 MySQL Connector/NE ...

  6. 安装docker和jupyter采坑历程

    背景:发现自己电脑配置不够,在进行模型参数调优时基本进行不下去了.计划使用云服务器,由于自己只是用来跑模型.所以按需计费最为合适.考虑到每次使用都需要部署开发环境,索性用docker实现.这样每次部署 ...

  7. Android平台招商银行“一网通”支付对接采坑记

    公司最近的App中需要做支付功能,支付中需要支持微信支付.支付宝支付.一网通支付.本文主要记录在对接Android平台中的"一网通"过程中遇到的坑,如果有类似需求的朋友,可供你参考 ...

  8. (原创)修改BIOS让华硕Z87-A老主板支持NVMe硬盘启动(采坑实录)

    当年经典的华硕Z87-A主板至今仍然老当益壮,美中不足就是不支持NVMe SSD作为启动盘.由于工作生活繁忙,2年多来陆陆续续查了好多资料,再加上有CH341A编程器加持,自认已经准备得够充分.最近乘 ...

  9. vue2.0怎么渲染html,vue采坑之——vue里面渲染html 并添加样式

    在工作中,有次遇到要把返回的字符串分割成两部分,一部分用另外的样式显示. 这时候,我想通过对得到字符串进行处理,在需要特别样式的字符串片段用html标签(用的span)包裹起来再通过变量绑定就好了.不 ...

最新文章

  1. 让Maven项目使用Nexus作为远程仓库的settings.xml配置
  2. 简约而不简单|值得收藏的Pandas基本操作指南
  3. wxWidgets:wxTopLevelWindow类用法
  4. NumPy之:结构化数组详解
  5. 带超时的system
  6. 处理SAP gateway service使用过程中遇到的400 error - Malformed URI literal syntax
  7. .NET Core 3.0及ASP.NET Core 3.0 前瞻
  8. php识别字符编码,PHP自动识别字符集编码并完成转码_PHP教程
  9. led灯条串联图_液晶电视维修:LED灯光电路原理,电路图原理分析?
  10. Spring.Net使用事务,try catch不回滚
  11. 两种方法--完全卸载macOS上的应用程序
  12. powerdesign165破解以及使用教程
  13. axios http请求报错: Request failed with status code 400
  14. word打开文档很久很慢_打开office非常慢怎么回事_电脑打开word文件很慢怎么办
  15. FILecoin 将重大战略升级,FIL 或将引导商业数据
  16. python爬取百度贴吧图片库_python抓取百度贴吧-校花吧,网页图片
  17. ObjectARX 2016 安装心得
  18. Win7-VirsualBox下学习Ubuntu--Ubuntu和Win7共享文件夹
  19. 转炉炼钢工艺流程(炼钢)
  20. neo4j图数据库入门

热门文章

  1. 物理学家张首晟:如果世界末日来临,我会带这几句话上诺亚方舟|研习社演讲实录...
  2. 自称迪拜十星级酒店,震撼了!
  3. 怎样才能找到一份AI领域的好工作?
  4. pytorch 使用DataParallel 单机多卡和单卡保存和加载模型时遇到的问题
  5. oc 画一个圆弧_用SolidWorks画的塑料衣架,要用到不少让人头疼的曲线
  6. java几种遍历方式以及效率对比
  7. 邻接表的构建、DFS、BFS搜索
  8. 全员学习低代码,一汽大众领跑数智化转型背后的秘密
  9. mPaas 运维流程介绍
  10. 如何快速搭建云原生企业级数据湖架构及实践分享