[英]pkcs11 exception parsing configuration: Unexpected value Token['(']
我知道這不是一個新問題(請參閱https://bugs.openjdk.java.net/browse/JDK-8023745 ),但是我希望有人能夠提供一個很好的解決方法,以便我們推出。
我們正在部署一個使用pkcs11的應用程序,並且在解析配置時遇到問題,該配置位於“程序文件(x86)”中。 我們得到的是:
sun.security.pkcs11.ConfigurationException:意外值Token ['('],第2行
在開發環境中,將位置移動到“干凈”路徑即可解決問題,因此問題肯定是(x86)。
有什么好的解決方法,希望對最終用戶造成的麻煩最小?
因此,最好的解決方案是使用org.apache.commons.io.FileUtils中的FileUtils.copyFileToDirectory()使用“有效”路徑將文件復制到另一個位置。
我在Windows中找到了解決此問題的簡單方法。 就我而言,我試圖從Mozilla 32位安裝目錄中加載nss本機庫。 如果我以這種方式配置路徑:
name = NSS
library = C:\Program Files (x86)\Mozilla Firefox\softokn3.dll
我收到Unexpected value Token['(']
異常。如果相反,我嘗試添加"
來包圍庫路徑:
name = NSS
library = "C:\Program Files (x86)\Mozilla Firefox\softokn3.dll"
然后錯誤更改,我得到:
Caused by: sun.security.pkcs11.ConfigurationException: Absolute path required for library value: C:Program Files (x86)Mozilla Firefoxsoftokn3.dll
似乎"
繞過括號問題似乎會丟失那個file.separator
,所以我最后一次嘗試是使用"
和“轉義” file.separator
(只需應用replace("\\\\","\\\\\\\\")
到配置之前的路徑):
name = NSS
library = "C:\\Program Files (x86)\\Mozilla Firefox\\softokn3.dll"
這樣可以正確加載庫。 我針對Java 8更新141進行了測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.