Как изменить пароль ключа из хранилища ключей PKCS12 - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь изменить пароль сертификата, хранящегося в хранилище ключей p12.Мне удалось изменить пароль хранилища ключей с помощью ikeycmd, но для передачи ключей ничего не работает.Это команда, которую я пытался:

keytool -keypasswd -storetype PKCS12 -keystore $ KEYSTORE_FILE -alias $ KEY_ALIAS -keypass $ KEY_PASSWORD -new $ new_pass -storepass $ store_pass

и я получаюследующий вывод: ошибка keytool: java.lang.UnsupportedOperationException: команды -keypasswd не поддерживаются, если -storetype - PKCS12

Я попытался выполнить команду без опции -storetype PKCS12, и я получил: ошибка keytool (вероятно, не переведена): java.io.IOException: неверный формат хранилища ключей

Может кто-нибудь, пожалуйста, помочь?Спасибо.

1 Ответ

1 голос
/ 10 июня 2019

Согласно интернет-стандарту, при создании / работе с PCKS12 хранилищем ключей следует соблюдать следующие правила:

  1. PKCS12 должен содержать только 1 запись пары ключей, то есть закрытый ключ, связанный с цепочкой сертификатов.
  2. Пароль ключа единственной записи совпадает с паролем хранилища ключей.

Java также следует этим правилам. Так вот почему ошибка при попытке изменить пароль ключа при указании типа хранилища как PKCS12.

Так что в идеале вы должны изменять пароль хранилища ключей только для хранилища ключей PKCS12. Вы не должны менять пароль.

Но если хранилище ключей pkcs12 не следует вышеприведенным правилам, и вы пытаетесь его исправить, но неудачно сделать это с помощью команды java keytool, я рекомендую попытаться исправить это с помощью keystore-explorer (инструмент с графическим интерфейсом для взаимодействия с любым хранилищем ключей).

Имеется возможность изменить пароль ключа записи.

screenshot

...