Ответ пароля на keytool в пакетных файлах

Мне нужно использовать keytool и jarsigner, чтобы подписывать много файлов здесь во многих папках.
Каждый раз, когда я начинаю подписывать файлы тезисов, мне нужно удалить файл .cert и файл хранилища ключей, чтобы воссоздать его.
Im на развитие окружающей среды и использование поддельных passwd, чтобы подписать его, после того, как приложение работает, люди будут заботиться о подписи, я не имею доступа к реальным сертификатам.
Когда я вводил текст и keytool -import ......., после ввода, попросите пароль, я просто набираю его, но в пакете он становится проблемой.
Im на окнах 7 здесь.
Я тоже был опробован keytool -import ....... < passHere и keytool -import ....... | passHere, но он не работает.
Я хочу, чтобы указатель поворота был наиболее автоматическим.
Кто-то говорит о его программном использовании здесь, но я просто нуждаюсь в нем в файле bat.
Пароль представляет собой фиксированное значение внутри командного файла.
Есть способ дать passwd встроенный в keytool?
Возможно ли установить переменную среды в "время выполнения" для подачи пароля keytool? как это сделать? Есть способ дать passwd внутри ванны к keytool? Я вижу this, но не помогаю, потому что я не разработчик asm и не уверен, что это соответствует проблеме, и им интересно, есть ли что-то более простое.

Спасибо

Ответ 1

Эта команда работает для меня (протестировал ее с помощью keytool из jdk 1.6.0.24):

keytool -import -noprompt -file PathToCertificate -alias SomeCertificateAlias -keystore PathToKeyStore -storepass KeyStorePassword

Ответ 2

Мне понадобилось пакетное создание хранилища ключей, так как у меня нет доступа к удаленной машине и вам необходимо создать хранилище ключей автоматически. Я пробовал эту команду (с параметрами -noprompt и -storepass), но по-прежнему запрашивал пароль. Я обошел это, выполняя echo <password> | keytool ... с теми же параметрами, что и другой ответ, который работал.

Ответ 3

Мне нужно было создать хранилища ключей JKS с ключами из магазина PKCS12.

Это сработало для меня:

echo <passphrase>| keytool.exe -importkeystore -srckeystore <source_pkcs12> -srcstoretype pkcs12 -destkeystore <jks_store> -deststoretype JKS -storepass <store_passphrase> -noprompt

Хитрость была в том, чтобы не было пробела между парольной фразой и | символ pipes, в противном случае keytool считает пробел частью парольной фразы.