Вопрос или проблема
Я создал хранилище jks с помощью keytool, и с помощью этого hранилища у меня есть csr. Этот csr я отправил в Уполномоченный орган по подписи. Уполномоченный орган предоставил доверенные сертификаты (корневой, промежуточный и серверный), которые я импортировал с помощью команды keytool. После импорта я узнал о политике паролей для Oracle Wallet (сочетание буквенно-цифровых, специальных символов и минимальная длина 8), а также о том, что для преобразования jks в wallet пароли должны совпадать. Я изменил пароли для хранилища (storepasswd, keypasswd) с помощью следующих команд:
keytool -keypasswd -alias <Alias> -keystore KEYSTORE.jks
keytool -storepasswd -keystore KEYSTORE.jks
Я сделал это успешно. Я использую инструмент orapki
от OHS
, чтобы преобразовать хранилище jks в Oracle Wallet с помощью следующей команды:
orapki wallet jks_to_pkcs12 -wallet <WALLET> -keystore KEYSTORE.jks
и я получаю следующее исключение
Исключение: oracle.security.crypto.util.InvalidFormatException: Неверный формат атрибута
Я искал это исключение в интернете, но не нашел хорошей ссылки. Пожалуйста, помогите мне понять, в чем проблема или какую ошибку я допустил?
Сначала вам нужно создать кошелек:
orapki wallet create -wallet oam.oracle.poc.wallet -pwd <pwd> -auto_login
Затем выполните импорт снова:
orapki wallet jks_to_pkcs12 -wallet oam.oracle.poc.wallet -pwd <pwd> -keystore <keystore.jks> -jkspwd <jks_pwd>
Помните, что пароли хранилища и ключевых записей должны совпадать.
Ответ или решение
Проблема, с которой вы столкнулись при конвертации JKS (Java KeyStore) в Oracle Wallet с помощью инструмента orapki
, скорее всего связана с неправильными параметрами или последовательностью действий.
Вот пошаговое руководство для успешной конвертации вашего JKS в Oracle Wallet:
-
Создание хранилища (Wallet):
Прежде всего, вам необходимо создать Oracle Wallet. Для этого выполните следующую команду:orapki wallet create -wallet <путь_к_wallet> -pwd <ваш_пароль> -auto_login
Убедитесь, что пароль, который вы используете, соответствует требованиям по политике паролей Oracle Wallet (комбинация букв, цифр и специальных символов, минимум 8 символов).
-
Импорт JKS в Oracle Wallet:
После создания Wallet вы можете импортировать ваш JKS файл. Убедитесь, что вы используете правильный пароль для JKS и что пароли для хранилища и ключевых записей совпадают.Выполните следующую команду:
orapki wallet jks_to_pkcs12 -wallet <путь_к_wallet> -pwd <ваш_пароль> -keystore <KEYSTORE.jks> -jkspwd <jks_pwd>
Здесь
<jks_pwd>
— это пароль, который вы установили для вашего JKS. -
Проверка паролей:
Убедитесь, что пароли для хранилища (Wallet) и для хранилища ключей (KeyStore) действительно совпадают. Это важное условие для успешной конвертации. -
Ошибка "Malformed attribute type":
Ошибкаoracle.security.crypto.util.InvalidFormatException: Malformed attribute type
может возникать по нескольким причинам:- Не правильный формат JKS файла.
- Неверные пароли, если они не совпадают.
- Проблемы с совместимостью версий Java и Oracle Wallet.
Если вы продолжаете сталкиваться с этой ошибкой, попробуйте проверить, правильно ли вы импортировали сертификаты в JKS перед конвертацией.
-
Дополнительные проверки:
- Убедитесь, что ваш JKS статус корректен и нет повреждённых записей.
- Используйте
keytool -list -keystore <KEYSTORE.jks>
для проверки содержимого вашего JKS и убедитесь, что все сертификаты и ключи отображаются правильно.
Следуя данным шагам, вы сможете успешно конвертировать ваш JKS в Oracle Wallet без ошибок. Если проблема не будет решена, рассмотрите возможность обращения в техническую поддержку Oracle для более детального анализа вашей ситуации.