我用下面的代碼來創建它是資源/證書/ crt.p12證書文件的密鑰庫:
public static KeyStore getKeyStoreFromFile(String certificateFilePath,
String certificatePassword) throws KeyStoreException {
File p12File = new File(
KeyStoreUtil.class.getClassLoader().getResource(certificateFilePath).getFile());
KeyStore.Builder builder = KeyStore.Builder.newInstance("PKCS12", null, p12File,
new KeyStore.PasswordProtection(certificatePassword.toCharArray()));
return builder.getKeyStore();
}
它可以在windows平臺上運行。
問題:
然而,當我在Linux平臺上運行的系統無法找到該文件,並拋出以下異常:
java.lang.IllegalArgumentException: File does not exist or it does not refer to a normal file: file:/executable/billpay-billinfo-services.jar!/certificates/crt.p12
我認爲這是不同平臺的問題,如果有人能幫我找到解決這個問題的方法,我將不勝感激。
在linux上運行java程序的用戶是否有權限讀取和使用此文件? – Nadir