Как да използвате предоставено хранилище за ключове за подписване на jar файл

Моят клиент ми даде хранилище за ключове с цел подписване на Java аплет jar файл. Експортирах .cer файл от него и след това го импортирах в cacerts, но продължавам да получавам грешка „Веригата на сертификата не е намерена“. Той също така казва, че „псевдонимът трябва да препраща към валиден ключ на KeyStore, съдържащ частен ключ и съответна верига от сертификати за публичен ключ“.

Опитах предложението на Гастон по-долу, то беше както следва:

jarsigner -keystore "D:\My Documents\keystore\MyKeyStore.jks" -storepass mypass -signedjar my_signed_jar.jar" unsigned.jar myalias

Warning:
The signer's certificate chain is not validated.

person user1777295    schedule 26.10.2012    source източник


Отговори (3)


Цялата ситуация е невалидна.

  1. Трябва да подписвате JAR файлове със собствения си частен ключ, а не с някой друг.

  2. Вашият клиент е извършил ГОЛЯМ пробив в сигурността, като е предоставил личния си ключ.

  3. Проблемът, който споменахте, че веригата сертификати на подписващия не е валидирана, е изцяло проблем на клиента. Той предостави сертификата: неговата валидност зависи изцяло от него.

Не е ваш проблем, но изобщо не е истински проблем, тъй като цялата ситуация е невалидна. Трябва да подписвате собствен код със собствен сертификат.

person user207421    schedule 26.10.2012

Ако просто искате да подпишете буркан от хранилище за ключове, трябва да изпълните следното в командния ред:

%JAVA_HOME%\bin\jarsigner -keystore YOUR_KEY_STORE.ks -storepass KS_PASS YOUR_JAR KS_ALIAS

Надявам се, че ще бъде полезно.

person Gaston Flores    schedule 26.10.2012
comment
Благодаря за вашия отговор! Опитах това и това беше резултатът: jarsigner -keystore D:\My Documents\keystore\ProvidedKeyStore.jks -storepass mypass -signedjar my_signed_jar.jar unsigned.jar myalias Предупреждение: Сертификатната верига на подписващия не е валидирана. - person user1777295; 26.10.2012
comment
Ако използвате JDK 7, опитайте сега с JDK 6 версия (опитайте и с 32 и 64 битова версия). - person Gaston Flores; 26.10.2012

Експортирах .cer файл от него и след това го импортирах в cacerts, но продължавам да получавам грешка „Веригата на сертификата не е намерена“.

Разбира се, веригата няма да бъде намерена :) Не трябва да я експортирате, защото за да подпишете буркан, но трябва да използвате оригиналния ключ за хранилище за ключове - ключът, от който е генериран сертификатът...

Ако имате всички привилегии като пароли и т.н., трябва да използвате оригиналния ключ за съхранение на ключове, който клиентът ви е дал, за да подпишете буркана. След това трябва да използвате общи команди на jarsigner нещо като

jarsigner -keystore C:\working\mystore -storepass myspass
      -keypass dukekeypasswd MyJarFile.jar duke

P.S>

Моля, докладвайте, ако това помага

person user592704    schedule 27.10.2012