2016-09-09 10 views
2

Я пытаюсь импортировать сертификат PKCS12 с помощью keytool в java. Он отлично работает только тогда, когда пароль хранилища ключей совпадает с паролем сертификата. Обязательно ли использовать пароль сертификата PKCS12 для хранилища ключей?Должен ли пароль хранилища ключей быть таким же, как пароль сертификата PKCS12?

+0

Какая ошибка вы видите, когда пароли хранилища ключей и сертификата не совпадают? – Leon

+0

Нет явной ошибки. Сертификат устанавливается, но мое приложение не появляется. – user5478656

ответ

4

Из documentation of keytool (только варианты, относящиеся к этому вопросу, перечислены):

Keytool -importkeystore [-srcstorepasssrcstorepass] [-deststorepassdeststorepass] {- srcaliassrcalias {-destaliasdestalias} [-srckeypasssrckeypass]} [-destkeypassdestkeypass] ...

импортирует одну запись или все записи из источника в хранилище ключей в хранилище ключей назначения.

Когда опция -srcalias предусмотрено, что команда импортирует единственный запись идентифицируется псевдонимом в хранилище назначения. [...] Если запись источника защищена паролем , то для восстановления записи используется srckeypass. Если srckeypass не предоставляется, команда keytool пытается использовать srcstorepass для восстановления записи. Если srcstorepass либо не указан, либо неверно, тогда пользователю будет предложено ввести пароль. Место назначения запись защищена destkeypass. Если destkeypass не указан, , то запись адресата защищена исходным кодом . Например, большинство инструментов сторонних производителей требуютПароль к хранилищу и KeyPassв PKCS # 12 в хранилище такой же. Чтобы создать для этих инструментов хранилище ключей PKCS # 12 , всегда указывайте ключ -destkeypass как так же, как -deststorepass.

Если опция -srcalias не предусмотрена, то все записи в источнике хранилища импортируется в хранилище назначения. [...] Если исходная запись защищена паролем, то srcstorepass используется для восстановления записи . Если srcstorepass либо не указан, либо неверно, тогда пользователю будет предложено ввести пароль. [...] Запись адресата защищена паролем ввода источника.

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

0

Если вы полагаетесь на свойства системы Java, чтобы сообщить JSSE о хранилище ключей, для указания конкретного псевдонима ключа или его пароля нет свойства. В этом случае у вас нет выбора, кроме как сделать пароли одинаковыми.