JAVA“無法驗證證書。將不執(zhí)行該應(yīng)用程序?!碧崾窘鉀Q辦法
筆者的一臺電腦安裝了Java 8 update 361。
需要使用UBNT網(wǎng)橋上的AirView應(yīng)用(JAVA),但運行時提示:
應(yīng)用程序出于安全原因被阻止
無法驗證證書。
將不執(zhí)行該應(yīng)用程序。
名稱:AirView
發(fā)行者:Ubiquiti Inc.
位置:http://172.16.x.x:80
筆者先前已經(jīng)在控制面板——Java——安全——“例外站點”列表中加入了上述地址,在以前的舊版Java上是可以正常運行的。
但自從Java更新到某個版本后(具體無從考證了),就出現(xiàn)了這個“無法驗證證書”的問題。
筆者又嘗試在控制面板——Java——高級中,將幾個證書撤銷檢查設(shè)置為“不檢查”。但仍然沒有效果,依舊報告相同的錯誤信息。
既然是證書有問題,那就在彈出提示時,查看一下JAVA應(yīng)用的證書。
發(fā)現(xiàn)應(yīng)用的證書是SHA256算法。但在證書路徑中,有父(根)證書在使用SHA1算法。
那么會不會是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.security
configuration file (or override it by using thejava.security.properties
system property) and removing "SHA1 usage SignedJAR & denyAfter 2019-01-01" from thejdk.certpath.disabledAlgorithms
security property and "SHA1 denyAfter 2019-01-01" from thejdk.jar.disabledAlgorithms
security property.
Java™ SE Development Kit 11, 11.0.17 Release Notes
也就是說,JRE從某個版本開始(大約是2021年的第三季度),默認阻止簽名證書使用SHA1算法的應(yīng)用。但也有例外,就是簽名時間戳早于2019年1月1日的,不受此限制。
因此,只需要在java.security文件中找到兩行帶有“denyAfter 2019-01-01”的代碼,用#將其注釋掉即可。
保存文件,之后就可以運行先前的java應(yīng)用了。
總結(jié)
到此這篇關(guān)于JAVA“無法驗證證書。將不執(zhí)行該應(yīng)用程序。”提示解決辦法的文章就介紹到這了,更多相關(guān)JAVA 無法驗證證書。將不執(zhí)行該應(yīng)用程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot整合elasticsearch的詳細步驟
這篇文章主要介紹了Spring Boot整合elasticsearch的詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Java+opencv3.2.0實現(xiàn)hough圓檢測功能
這篇文章主要為大家詳細介紹了Java+opencv3.2.0實現(xiàn)hough圓檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02基于Spring Security的Oauth2授權(quán)實現(xiàn)方法
這篇文章主要介紹了基于Spring Security的Oauth2授權(quán)實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09詳解spring boot實現(xiàn)websocket
這篇文章主要介紹了詳解spring boot實現(xiàn)websocket,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06