Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Проблема с добавлением сертификата в jad-файл


Автор: Vilux 1.11.2005, 14:13
Я использую следующую команду для добавления сертификата
java -jar c:\wtk22\bin\MEKeyTool.jar -import -alias myalias -keystore trust.ks -storepass pass
и у меня нет проблема с SSL.
Но я хочу добавлять сертификат в сам jad-файл и использую команду
java -jar c:\wtk22\bin\JadTool.jar -addcert -alias myalias -keystore trust.ks -storepass pass -inputjad my.jad -outputjad my.jad
после этого в jad-файле появляется строчка "MIDlet-Certificate-1-1: ..."
Но когда я запускаю эмулятор, то он выдает "Certificate was issued by an unrecognized entity". Такое впечатление, что он не видит сертификата.Почему? smile

Автор: Dancer 2.11.2005, 12:40
а вот этот вот добавить не нужно?

java -jar c:\wtk22\bin\JADTool.jar -addjarsig -jarfile my.jar -keystore trust.ks -alias myalias -storepass pass -inputjad my.jad -outputjad my.jad

Автор: Samuil 4.8.2007, 13:06
Привет, у меня возник один вопрос по поводу подписания мидлета, мог бы мен чуть чуть помочь? Вот посмотри:
1)keytool -import -alias Sert -file cer\exp.cer
2)jarsigner -keystore (что здесь надо?) -storepass (что здесь надо?) Shpora.jar myalias
Превое действие проходит на ура, а во второе никак я делал так: 
jarsigner -keystore -storepass serega Shpora.jar myalias
Обьясни пожалуйста в чем моя ошибка

Автор: W0LF 6.8.2007, 11:27
Вот мне когда-то Dancer помогал.
На основе того вот простенький xml для анта
Код

<?xml version="1.0"?>

<project name="Sign"
         basedir="."
         default="sign">

    <property name="java.exe" value="C:/Program Files/Java/jdk1.5.0/bin/java.exe" />
    <property name="jarsigner.exe" value="C:/Program Files/Java/jdk1.5.0/bin/jarsigner.exe" />
    <property name="midlet.home" value="E:\work\Krendels\VCEL\ttt" />
    <property name="midlet.name" value="vcel" />
    <property name="midlet.main_class" value="net.vcel.Startlet" />
    <property name="midlet.vendor" value="vcel" />
    <property name="midlet.version" value="1.0.0" />
    <property name="wtk.home" value="C:/WTK22/" />
    <property name="deploy.url.signed" value="" />
    <!-- SIGN MIDLET PROPERTIES -->
    <property name="sign.alias" value="vcel" />
    <property name="sign.keystore" value="E:/work/Krendels/VCEL/certify/vcel.ks" />

    <property name="sign.password" value="password" />


    <taskdef resource="antenna.properties" classpath="E:/install/Language/java/j2me/Antenna/antenna-bin-0.9.14.jar" />
      
    <target name="sign" >
        <exec executable="${jarsigner.exe}">
            <arg line="-keystore ${sign.keystore}"/>
            <arg line="-storepass ${sign.password}"/>
            <arg line="${midlet.home}\dist\520\${midlet.name}.jar"/>
            <arg line="${sign.alias}"/>
            <arg line="-verbose"/>
        </exec>
    </target>

    <target name="create.jad.signed">
        <exec executable="${java.exe}">
            <arg line="-jar ${wtk.home}/bin/JadTool.jar"/>
            <arg line="-addcert"/>
            <arg line="-alias ${sign.alias}"/>
            <arg line="-storepass ${sign.password}"/>
            <arg line="-keystore ${sign.keystore}"/>
            <arg line="-inputjad ${midlet.home}\dist\520\${midlet.name}.jad"/>
            <arg line="-outputjad ${midlet.home}\dist\520\${midlet.name}.jad"/>
        </exec>
        <exec executable="${java.exe}">
            <arg line="-jar ${wtk.home}/bin/JadTool.jar"/>
            <arg line="-addjarsig"/>
            <arg line="-alias ${sign.alias}"/>
            <arg line="-jarfile ${midlet.home}\dist\520\${midlet.name}.jar"/>
            <arg line="-storepass ${sign.password}"/>
            <arg line="-keypass ${sign.password}"/>
            <arg line="-keystore ${sign.keystore}"/>
            <arg line="-inputjad ${midlet.home}\dist\520\${midlet.name}.jad"/>
            <arg line="-outputjad ${midlet.home}\dist\520\${midlet.name}.jad"/>
        </exec>

        <wtkjad jadfile="${midlet.home}\dist\520\${midlet.name}.jad" jarfile="${midlet.home}\dist\520\${midlet.name}.jar" target="${deploy.url.signed}" update="true">
        </wtkjad>
    </target>
</project>


Автор: Dancer 6.8.2007, 14:35
Ну, из предыдущего поста можно понять что нужно писать в командной строке, ну или взять эти таски и засунуть в свой build.xml и пользовать.
Так же хочу показать, как можно это делать используя WTK (хотя мне более удобным кажется механизм из командной строки smile )
Но к этому моменту у вас уже должен быть готов файл сертификата, которым вы будете подписывать ваш Мидлет.
1. Открываем WTK.
2. Из меню File->Utilites
3. Выбираем Sign MIDlet
4. Import Certificate (указываем cer файл, который будет использован для подписания в качестве сертификата)
5.  На экране появится вся инфа по выбранному сертификату, кем он изготовлен, время его действия и какой он (trusted/untusted и т.д.)
6. Жмём Sign MIDlet Suite (выбираем JAD который подписывается)
6.1. Перед тем как получить JAD/JAR не забываем указывать MIDlet-Permissions:. Либо сами вписываете ручками в JAD , либо это так же через WTK делаете, на открытом проекте, Settings->Permissions (MIDlet-Permissions -> Add и выбираете пакеты необходимые для работы мидлета)

Автор: Samuil 7.8.2007, 01:14
Все спасибо ребят!!! Я наконец то научился по человечески подписывать мидлеты. Подписывается и jar и jad фаил. Работает на всех телах, и работает реально!!!

Автор: javastic 8.8.2007, 10:20
Samuil, а где ты сертификаты берешь? Может поделишься?  smile 

Автор: Samuil 17.8.2007, 23:42
Вот: http://slil.ru/24750444
НО! Его надо устанавливать в телефон и потом уже в подписанном приложении в настройках указать все параметры!

Автор: amI 15.10.2008, 20:32
А как достать сертификат VeriSign(class 3)?

Автор: eugine_s 15.10.2008, 21:39
Цитата(amI @  15.10.2008,  20:32 Найти цитируемый пост)
А как достать сертификат VeriSign(class 3)?

 
Купить?
http://www.verisign.com

Автор: amI 15.10.2008, 21:52
У меня нет столько, я еще пишк только кустарные мидлеты........


PS Нокия чересчур безопасна....

Автор: eugine_s 15.10.2008, 23:20
Цитата(amI @  15.10.2008,  21:52 Найти цитируемый пост)
У меня нет столько, я еще пишк только кустарные мидлеты........


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


Цитата(amI @  15.10.2008,  21:52 Найти цитируемый пост)
PS Нокия чересчур безопасна.... 


Они все такие.

Автор: amI 16.10.2008, 11:33
В том то и дело, что я могу начать делать норм приложения, сделать сайт и т.д. Но начального бюджета у меня нет, а если бы и был, то я не стал бы тратить столько денег в "никуда"(не успеет моя затея окупится, как исчерпает себя.....)

ЗЫ Возможно ли установить в нокию свой сертификат без модификации системных файлов и прочих хаков?

Автор: GeniusUz 3.11.2008, 12:31
Цитата(Samuil @  17.8.2007,  21:42 Найти цитируемый пост)
Вот: http://slil.ru/24750444
НО! Его надо устанавливать в телефон и потом уже в подписанном приложении в настройках указать все параметры! 


файл не найден пожалуйста скажите есть где нибудь еще или отправьте мне пожалуйста на djbaxo[sobaka]gmail[tochka]com.
заранее спасибо!!! 

Автор: Brodyaga 7.12.2008, 14:59
Цитата

файл не найден пожалуйста скажите есть где нибудь еще или отправьте мне пожалуйста на djbaxo[sobaka]gmail[tochka]com.
заранее спасибо!!! 


Скинул тебе на почту сертификат халмера, но знай, что для того чтобы тебе его ан тел закинуть, нужно спец прогами пользоваться! Для каждой марки свои. Я такое только с сонериками проворачивал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)