Проблемы с подписью jar в java: проблема с открытым ключом

Я работаю над одним свинг-приложением, и я хочу сделать его «веб-запуском», для этого мне нужно подписать свою банку.

Для этого я выполнил следующие шаги: 1. Создайте файл хранилища ключей, используя следующую команду.

keytool -genkey -keystore myKeystore -alias myself 

keytool -selfcert -alias myself -keystore myKeystore

Введите пароль хранилища ключей:

keytool -list -keystore myKeystore

Введите пароль хранилища ключей:

Тип хранилища ключей: JKS Поставщик хранилища ключей: SUN

Ваше хранилище ключей содержит 1 запись

сам, 7 августа 2013 г., PrivateKeyEntry, отпечаток сертификата (SHA1): 9A:CD:47:D2:9D:51:F4:5A:56:FB:5C:27:7B:E6:03:EE: 65:70 :F7:7B

Закрытый ключ успешно сгенерирован выше.

2.

jarsigner -keystore myKeystore "C:..\myApp.jar" sourabh Введите кодовую фразу для хранилища ключей:

jarsigner: цепочка сертификатов не найдена для: sourabh. sourabh должен ссылаться на допустимую запись ключа KeyStore, содержащую закрытый ключ и соответствующую цепочку сертификатов открытого ключа.

Он показывает выше ошибку.

Проблема 1. Откуда я могу получить этот открытый ключ?

Я погуглил. Информация для открытого ключа есть, но не удалось получить информацию о создании. Как мы можем сгенерировать его для моего приложения.

Проблема 2: если я перемещаю свое приложение на онлайн-сервер (например, apache derver), нужно ли мне также копировать файл хранилища ключей>?


person user1653773    schedule 07.08.2013    source источник


Ответы (1)


  1. Вам нужно указать тот же псевдоним для инструмента jarsigner. Вы использовали «себя» при создании хранилища ключей: используйте его снова.
  2. Точно нет. Он содержит ваш закрытый ключ. Держите это в тайне.
person user207421    schedule 07.08.2013
comment
Спасибо за вышеуказанное решение, у меня возникает еще одна проблема, когда я запускаю файл jnlp, он показывает, что приложение заблокировано настройками безопасности ... в чем может быть причина? ... Я поместил свой в e: диск - person user1653773; 09.08.2013
comment
Созданный вами ключ подписи является самоподписанным. Вам нужно будет добавить его в хранилище первичных ключей вашего компьютера или добавить локальный (или стартовый) компьютер в список доверенных сайтов JRE. - person Brian Knoblauch; 19.01.2015