JAVA“無法驗(yàn)證證書。將不執(zhí)行該應(yīng)用程序?!碧崾窘鉀Q辦法
筆者的一臺(tái)電腦安裝了Java 8 update 361。
需要使用UBNT網(wǎng)橋上的AirView應(yīng)用(JAVA),但運(yùn)行時(shí)提示:
應(yīng)用程序出于安全原因被阻止
無法驗(yàn)證證書。
將不執(zhí)行該應(yīng)用程序。
名稱:AirView
發(fā)行者:Ubiquiti Inc.
位置:http://172.16.x.x:80
筆者先前已經(jīng)在控制面板——Java——安全——“例外站點(diǎn)”列表中加入了上述地址,在以前的舊版Java上是可以正常運(yùn)行的。
但自從Java更新到某個(gè)版本后(具體無從考證了),就出現(xiàn)了這個(gè)“無法驗(yàn)證證書”的問題。
筆者又嘗試在控制面板——Java——高級(jí)中,將幾個(gè)證書撤銷檢查設(shè)置為“不檢查”。但仍然沒有效果,依舊報(bào)告相同的錯(cuò)誤信息。
既然是證書有問題,那就在彈出提示時(shí),查看一下JAVA應(yīng)用的證書。
發(fā)現(xiàn)應(yīng)用的證書是SHA256算法。但在證書路徑中,有父(根)證書在使用SHA1算法。
那么會(huì)不會(huì)是SHA1算法被JAVA所禁止了?
答案就在C:\Program Files\Java\jre1.8.0_361\lib\security\java.security文件中。
發(fā)現(xiàn)這么幾行:
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \
RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \
include jdk.disabled.namedCurves, \
SHA1 usage SignedJAR & denyAfter 2019-01-01
又上網(wǎng)查詢了一下,官方講得很清楚:
JARs signed with SHA-1 algorithms are now restricted by default and treated as if they were unsigned.
Any JAR signed with SHA-1 algorithms and timestamped prior to January 01, 2019 will NOT be restricted.
Users can, at their own risk, remove these restrictions by modifying the
java.securityconfiguration file (or override it by using thejava.security.propertiessystem property) and removing "SHA1 usage SignedJAR & denyAfter 2019-01-01" from thejdk.certpath.disabledAlgorithmssecurity property and "SHA1 denyAfter 2019-01-01" from thejdk.jar.disabledAlgorithmssecurity property.
Java™ SE Development Kit 11, 11.0.17 Release Notes
也就是說,JRE從某個(gè)版本開始(大約是2021年的第三季度),默認(rèn)阻止簽名證書使用SHA1算法的應(yīng)用。但也有例外,就是簽名時(shí)間戳早于2019年1月1日的,不受此限制。
因此,只需要在java.security文件中找到兩行帶有“denyAfter 2019-01-01”的代碼,用#將其注釋掉即可。
保存文件,之后就可以運(yùn)行先前的java應(yīng)用了。
總結(jié)
到此這篇關(guān)于JAVA“無法驗(yàn)證證書。將不執(zhí)行該應(yīng)用程序。”提示解決辦法的文章就介紹到這了,更多相關(guān)JAVA 無法驗(yàn)證證書。將不執(zhí)行該應(yīng)用程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java項(xiàng)目中獲取路徑的絕對(duì)路徑問題和相對(duì)路徑問題
這篇文章主要介紹了如何Java項(xiàng)目中獲取文件地址,在 Java 項(xiàng)目中我們經(jīng)常會(huì)讀取配置文件,但是文件的路徑在獲取時(shí)我們是怎么得到的?下面我們就一起進(jìn)入文章學(xué)習(xí)該內(nèi)容吧,需要的朋友可以參考下2022-02-02
Java中JavaBean對(duì)象和Map的互相轉(zhuǎn)換方法實(shí)例
為什么需要將javaBean和map進(jìn)行轉(zhuǎn)換,在很多應(yīng)用場(chǎng)景中,需要將key=value形式的數(shù)據(jù)與javaBean對(duì)象相互轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Java中JavaBean對(duì)象和Map的互相轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2022-11-11
Java數(shù)據(jù)結(jié)構(gòu)之插入排序與希爾排序
在本篇文章,我們將為小伙伴們進(jìn)行排序概念的基本講解并具體講解其中的兩種基礎(chǔ)排序:插入排序和希爾排序,希望小伙伴們能夠從中有所收獲2023-04-04
java中的FileInputStream三種read()函數(shù)用法
這篇文章主要介紹了java中的FileInputStream三種read()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
SpringBoot ApplicationEvent之事件發(fā)布與監(jiān)聽機(jī)制詳解
本文將深入探討SpringBoot的事件機(jī)制,介紹其核心概念、實(shí)現(xiàn)方法及最佳實(shí)踐,幫助開發(fā)者構(gòu)建更加靈活、可維護(hù)的應(yīng)用架構(gòu),希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Java對(duì)象轉(zhuǎn)json的方法過程解析
這篇文章主要介紹了Java對(duì)象轉(zhuǎn)json的方法過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

