Обратите внимание, что вы фактически создаете по умолчанию формат хранилища ключей, предполагая, что этот файл не существует во время запуска keytool
; до Java 8 по умолчанию используется JKS, но начиная с версии 9 — PKCS12. (Имя файла something.jks
не влияет на формат, так же как и имя something.lollipop
не делает его детским.)
Если вы укажете -storepass whatever
в командной строке, как вы сказали, он не должен запрашивать пароль хранилища ключей - по крайней мере, не в этой операции; если вы снова запустите keytool
, чтобы (повторно) использовать тот же файл, это предложит, если вы снова не укажете его в этой командной строке. Точно так же, если вы укажете -keypass whatever
в командной строке, когда это необходимо в зависимости от операции, он не должен запрашивать пароль ключа.
Для JKS JCEKS и PKCS12 пароли вообще не сохраняются. Это было бы крайне небезопасно. Вместо этого пароль(и) плюс «соль» (рандомизированное значение) обрабатываются односторонним алгоритмом «получения ключа» для создания ключа(ей), используемых для шифрования как минимум записей закрытого ключа. в хранилище ключей и для аутентификации (MAC) всего хранилища ключей. PKCS12, реализованный в Java (слабо), шифрует как сертификаты, так и закрытые ключи; JKS и JCEKS - нет. PKCS12, реализованный в Java, может не поддерживать пароль закрытого ключа, отличный от пароля хранилища.
Если вы не можете или не указываете правильный пароль (пароли) при использовании файла хранилища ключей, это может привести к сбою в зависимости от того, какие именно операции вы пытаетесь выполнить, поэтому ваша задача запомнить их и при необходимости передать или раздать. Если вам нужно сделать это в масштабе, с которым трудно справиться вручную, существуют инструменты управления паролями, которые могут обрабатывать пароли для всего, а не только для хранилищ ключей Java, — многих видов и из множества источников.
Для нефайловых хранилищ ключей, таких как PKCS11 в некоторых системах или хранилище, предоставленное ОС в Windows, то, как реализован и используется пароль — если вообще — зависит от особенностей этого хранилища ключей, хотя хранение пароля обычно быть плохой или плохой практикой.
person
dave_thompson_085
schedule
20.03.2019