2013-11-26 3 views
7

Использование RAD 8.5 с WAS 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)), и поэтому вы можете использовать Notepad или любой другой текстовый редактор. – usr2564301

+0

@Jongware: Блокнот, похоже, не был хорошим редактором для этого. Я должен был открыть его в Wordpad, но все же я не могу его прочитать из-за кодирования, и поэтому нет способа проверить, были ли я внесены исправления. Ну, это не сработало. – Prince

+0

К сожалению, вы не помогаете нам помогать вам ... 1. На самом деле ваш вопрос OT для SO *, если только * это не проблема с кодом * вы * писали; 2. Мое предложение основано на вашем собственном утверждении, что файл, о котором вы говорите, является тем же типом, что и в вашей ссылке; 3. Редактирование простого файла Base64 * должно быть возможно с помощью Notepad, и если это невозможно, то это не файл * типа *, который, по вашему мнению, не является, или это не то же * ошибка *, вы думаете это. – usr2564301

ответ

2

Вот способ решить эту проблему без необходимости просмотра или редактирования файла.

Тип ключа ключа по умолчанию - 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 файл, который может быть легко прочитан из указанного класса.

Ссылка:

Смежные вопросы