2013-11-26 37 views
7

使用RAD 8.5與8.5運行時,我得到我的控制檯上的異常:如何查看和編輯cacerts文件?

The keystore located at "C:\IBM\Websphere85\jdk\jre\lib\security\cacerts" failed to load due to the following error: DerInputStream.getLength(): lengthTag=109, too big..

尋找我得到了錯誤後這種link這表明編輯文件,並刪除空行/額外的字符。

如何編輯文件?我在Windows環境下,該文件似乎是base64編碼。

+0

根據同樣的鏈接,這不是與Base64編碼的問題編碼本身,而是與後多餘的空行或可見數據結束。 「Base64」僅包含純ASCII文本([根據其定義](http://en.wikipedia.org/wiki/Base64)),因此您可以使用記事本或任何其他純文本編輯器。 – usr2564301

+0

@Jongware:記事本似乎不是一個很好的編輯器。我不得不在Wordpad中打開它,但由於編碼原因我仍然無法讀取它,因此無法驗證我是否做出了很好的編輯。那麼,它並沒有工作。 – Prince

+0

不幸的是,你並沒有幫助我們來幫助你... 1.實際上你的問題是OT *,除非*這是你寫的代碼的特定問題; 2.我的建議是基於您自己的說法,您所說的文件與您的鏈接中的文件類型相同; 3.編輯一個普通的Base64文件*應該*可以使用記事本,如果這是不可能的,那麼它不是*你認爲它是*的文件,或者它不是相同的*錯誤*你認爲它是。 – usr2564301

回答

2

以下是一種實際解決此問題的方法,無需查看或編輯文件。

默認的keyStore類型是JKS,WSKeyStore類假定它是引發上述錯誤的PKCS12文件。所以我們需要將cacerts文件轉換爲.p12格式。

使用命令行實用程序keytool我執行:

C:\IBM\WebSphere85\AppServer\java\bin>keytool -importkeystore^
-srckeystore C:\IBM\WebSphere85\AppServer\java\jre\lib\security\cacerts^
-destkeystore C:\IBM\WebSphere85\AppServer\java\jre\lib\security\cacerts.p12^
-srcstoretype JKS -deststoretype PKCS12 -srcstorepass changeit -deststorepass changeit -noprompt 

這給了我一個cacerts.p12文件,它可能通過上述類輕鬆讀取。

參考

相關問題