欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀JDK8踩坑JCE加密限制版本問題

 更新時(shí)間:2023年05月30日 09:17:12   作者:gblfy  
這篇文章主要介紹了JDK8踩坑JCE加密限制版本問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、解決方案1

聲明:jdk1.8已經(jīng)經(jīng)過線上環(huán)境使用

1. 調(diào)研

JDK8的加密策略存在限制版本和無限制版本,隨著越來越多的第三方工具只支持 JDK8,業(yè)務(wù)環(huán)境中,發(fā)現(xiàn)有些方法會(huì)報(bào)異常。

2. 常見的異常

1、使用AES加解密

  • 異常1:

java.security.InvalidKeyException: Illegal key size or default parameters

  • 異常2:

java.lang.SecurityException: JCE cannot authenticate the provider BC

3. 安全性機(jī)制導(dǎo)致的訪問https會(huì)報(bào)錯(cuò)

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

這是因?yàn)槟承﹪业倪M(jìn)口管制限制,JDK默認(rèn)的加解密有一定的限制。

4. 解決方案

比如默認(rèn)不允許 256 位密鑰的 AES 加解密,解決方法就下載官方JCE無限制強(qiáng)度加密策略文件,覆蓋即可。

官方網(wǎng)站提供了JCE無限制權(quán)限策略文件的下載:

  • 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. 操作流程

從官網(wǎng)下載jce策略文件(補(bǔ)丁包),進(jìn)入到j(luò)dkjre\lib\security目錄 ,覆蓋原有策略文件

注:如果測試通過下面的第6步可以跳過,如果不行請繼續(xù)操作

6. 移動(dòng)jar配置策略

第1步:

把包bcprov-jdk15on-1.56.jar復(fù)制一個(gè),放到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

重啟服務(wù)再次測試

二、解決方案2

2.1. 聲明

官網(wǎng)說從jdk的某個(gè)版本以后,只需簡單配置策略文件配置即可

從Java 1.8.0_151和1.8.0_152開始,為JVM啟用無限制強(qiáng)度管轄策略 有了一種新的更簡單的方法。

如果不啟用此功能,則不能使用AES-256:

2.2. 編輯策略文件

vim /$JAVA_HOME/jre/lib/security/java.security

2.3. 修改默認(rèn)屬性

在 jre/lib/security 文件夾中查找文件 java.security,現(xiàn)在用文本編輯器打開java.security,并找到定義java安全性屬性crypto.policy的行,它可以有兩個(gè)值limited或unlimited - 默認(rèn)值是limited。

將其設(shè)置為:

crypto.policy=unlimited

現(xiàn)在重新啟動(dòng)指向JVM的Java應(yīng)用程序即可。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis中的limit分頁設(shè)置

    MyBatis中的limit分頁設(shè)置

    這篇文章主要介紹了MyBatis中的limit分頁設(shè)置方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 基于JVM 調(diào)優(yōu)的技巧總結(jié)分析

    基于JVM 調(diào)優(yōu)的技巧總結(jié)分析

    本篇文章是對JVM 調(diào)優(yōu)的技巧進(jìn)行了總結(jié)和分析。需要的朋友參考下
    2013-05-05
  • JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    這篇文章主要介紹了JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot深入探究@Conditional條件裝配的使用

    SpringBoot深入探究@Conditional條件裝配的使用

    這篇文章主要為大家介紹了SpringBoot底層注解@Conditional的使用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Java中BeanUtils.copyProperties的11個(gè)坑總結(jié)

    Java中BeanUtils.copyProperties的11個(gè)坑總結(jié)

    我們?nèi)粘i_發(fā)中,經(jīng)常涉及到DO、DTO、VO對象屬性拷貝賦值,很容易想到org.springframework.beans.BeanUtils的copyProperties,它會(huì)自動(dòng)通過反射機(jī)制獲取源對象和目標(biāo)對象的屬性,pyProperties,會(huì)有好幾個(gè)坑呢,本文將給大家總結(jié)一下遇到的坑,需要的朋友可以參考下
    2023-05-05
  • Idea2019創(chuàng)建Springboot Web項(xiàng)目的方法步驟

    Idea2019創(chuàng)建Springboot Web項(xiàng)目的方法步驟

    這篇文章主要介紹了Idea2019創(chuàng)建Springboot Web項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • java實(shí)現(xiàn)求兩個(gè)字符串最長公共子串的方法

    java實(shí)現(xiàn)求兩個(gè)字符串最長公共子串的方法

    這篇文章主要介紹了java實(shí)現(xiàn)求兩個(gè)字符串最長公共子串的方法,是一道華為OJ上的一道題目,涉及Java針對字符串的遍歷、轉(zhuǎn)換及流程控制等技巧,需要的朋友可以參考下
    2015-12-12
  • 使用Spring Data Jpa的CriteriaQuery一個(gè)陷阱

    使用Spring Data Jpa的CriteriaQuery一個(gè)陷阱

    使用Spring Data Jpa的CriteriaQuery進(jìn)行動(dòng)態(tài)條件查詢時(shí),可能會(huì)遇到一個(gè)陷阱,當(dāng)條件為空時(shí),查詢不到任何結(jié)果,并不是期望的返回所有結(jié)果。這是為什么呢?
    2020-11-11
  • java中HashMap的原理分析

    java中HashMap的原理分析

    HashMap在Java開發(fā)中有著非常重要的角色地位,每一個(gè)Java程序員都應(yīng)該了解HashMap。詳細(xì)地闡述HashMap中的幾個(gè)概念,并深入探討HashMap的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié),討論HashMap的性能問題
    2016-03-03
  • springcloud 熔斷器Hystrix的具體使用

    springcloud 熔斷器Hystrix的具體使用

    本篇文章主要介紹了springcloud 熔斷器Hystrix的具體使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02

最新評論