keytool 錯誤: java.io.FileNotFoundException: cacerts (拒絕存取。)

2020-10-01 13:00:15

專案場景

我想要將阿里雲的maven中央倉庫證書匯入到 JRE security 中。

問題描述

C:\Program Files\Java\jdk1.8.0_241\jre\lib\security>keytool -import -alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer
輸入金鑰庫口令:
…………一堆證書內容資訊

是否信任此證書? [否]:  y
證書已新增到金鑰庫中
keytool 錯誤: java.io.FileNotFoundException: cacerts (拒絕存取。)

原因分析

檔案找不到?不可能的,上面能讀取到證書內容怎麼可能是檔案找不到。

真正的原因是因為許可權不足,所以拒絕存取。

為什麼會許可權不足?因為我的JDK是以預設路徑安裝到C槽中的,對其進行操作需要管理員許可權。

解決方案

已管理員身份執行命令提示字元,如何以管理員身份執行參考如下連結

參考:https://jingyan.baidu.com/article/ceb9fb10b53ab88cac2ba05b.html

C:\WINDOWS\system32>keytool -import -alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer
輸入金鑰庫口令:changeit
…………一堆證書內容資訊

是否信任此證書? [否]:  y
證書已新增到金鑰庫中

// 檢視證書
C:\WINDOWS\system32>keytool -list -keystore cacerts -alias aliyun-maven
輸入金鑰庫口令:changeit
aliyun-maven, 2020-9-29, trustedCertEntry,
證書指紋 (SHA1): F1:E6:55:4D:32:EF:89:6C:D5:E3:FB:F4:6E:E5:6E:4A:5C:56:92:79

// 刪除證書
C:\WINDOWS\system32>keytool -delete -alias aliyun-maven -keystore cacerts
輸入金鑰庫口令:changeit

參考檔案

[1]. https://www.cnblogs.com/wpbxin/p/11746229.html

[2]. https://xbuba.com/questions/53490967

[3]. https://jingyan.baidu.com/article/ceb9fb10b53ab88cac2ba05b.html