Как Вы подписываете Java Midlet?

Вы могли использовать ArraySegment . Это очень легко, поскольку это не копирует массив:

string[] a = { "one", "two", "three", "four", "five" };
var segment = new ArraySegment( a, 1, 2 );

12
задан Kevin Panko 7 October 2011 в 15:20
поделиться

1 ответ

Example exObject = theInt; // here

Здесь используется неявное преобразование int в Example, осуществляемое неявным конструктором, который принимает int.

Это также требует наличия конструктора копирования для Example, даже если компилятор разрешено не копировать экземпляр.

int theInt1 = ctr; // here

Здесь используется неявное преобразование Example в unsigned int, предоставляемое оператором приведения.

Операторов приведения обычно избегают, так как они имеют тенденцию приводить к путанице в коде, и вы можете пометить одно- явные конструкторы аргументов, чтобы отключить неявные преобразования в тип вашего класса. В C ++ 0x также должна быть добавлена ​​возможность явно отмечать операторы преобразования (так что вам понадобится static_cast для их вызова? - мой компилятор не поддерживает их, и все веб-ресурсы, похоже, сосредоточены на явном преобразовании в bool).

  • Запустите keytool -list , чтобы увидеть ваш новый сертификат.
  • Затем вы должны экспортировать сертификат, чтобы вы могли импортировать его на свой телефон
  • Запустите keytool -export -alias {myalias} -file mycertificate.crt
  • Импортируйте сертификат в свой телефон (подробности см. ниже)
  • C:\j2sdk1.4.2_08\bin>keytool -genkey -alias company -keyalg RSA -validity 365
    Enter keystore password: password
    What is your first and last name? [Unknown]: My Name
    What is the name of your organizational unit? [Unknown]: company
    What is the name of your organization? [Unknown]: company
    What is the name of your City or Locality? [Unknown]: location
    What is the name of your State or Province? [Unknown]: location2
    What is the two-letter country code for this unit? [Unknown]: GB
    Is CN=My Name, OU=company, O=company, L=location, ST=location2, C=GB correct? [no]: yes
    Enter key password for (RETURN if same as keystore password):
    

    Скомпилируйте и упакуйте приложение

    1. Используйте javac , чтобы создать свой мидлет, уделяя особое внимание пути к классам и параметры bootclasspath (в противном случае предварительная проверка не удастся). Я также установил цель на 1,1 и источник на 1,3
    2. Создайте свой файл JAD, критические атрибуты в JAD crt
    3. Импортируйте сертификат в свой телефон (подробности см. ниже).
    C:\j2sdk1.4.2_08\bin>keytool -genkey -alias company -keyalg RSA -validity 365
    Enter keystore password: password
    What is your first and last name? [Unknown]: My Name
    What is the name of your organizational unit? [Unknown]: company
    What is the name of your organization? [Unknown]: company
    What is the name of your City or Locality? [Unknown]: location
    What is the name of your State or Province? [Unknown]: location2
    What is the two-letter country code for this unit? [Unknown]: GB
    Is CN=My Name, OU=company, O=company, L=location, ST=location2, C=GB correct? [no]: yes
    Enter key password for (RETURN if same as keystore password):
    

    Скомпилируйте и упакуйте приложение

    1. Используйте javac , чтобы создать свой MIDlet, уделяя особое внимание параметрам classpath и bootclasspath (в противном случае предварительная проверка не удастся). Я также установил цель на 1,1 и источник на 1,3
    2. Создайте свой файл JAD, критические атрибуты в JAD crt
    3. Импортируйте сертификат в свой телефон (подробности см. ниже).
    C:\j2sdk1.4.2_08\bin>keytool -genkey -alias company -keyalg RSA -validity 365
    Enter keystore password: password
    What is your first and last name? [Unknown]: My Name
    What is the name of your organizational unit? [Unknown]: company
    What is the name of your organization? [Unknown]: company
    What is the name of your City or Locality? [Unknown]: location
    What is the name of your State or Province? [Unknown]: location2
    What is the two-letter country code for this unit? [Unknown]: GB
    Is CN=My Name, OU=company, O=company, L=location, ST=location2, C=GB correct? [no]: yes
    Enter key password for (RETURN if same as keystore password):
    

    Скомпилируйте и упакуйте приложение

    1. Используйте javac , чтобы создать свой MIDlet, уделяя особое внимание параметрам classpath и bootclasspath (иначе предварительная проверка не удастся). Я также установил цель на 1,1 и источник на 1,3
    2. Создайте свой файл JAD, критические атрибуты в JAD jar -addcert -alias {myalias} -storepass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}
    3. Теперь снова добавьте подпись в JAD, используя JadTool.jar
    4. Выполнить java -jar JadTool.jar -addjarsig -alias {myalias} -jarfile {myjar} -storepass {mypassword} -keypass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}

    Deployment

    1. Разверните это на веб-сервере с правильно установленными типами MIME и загрузите его на свой телефон, и это будет доверенное стороннее приложение.
    2. Вы также можете развертывать приложения на телефонах, отправив JAR и JAD на телефон по телефону. Bluetooth, инфракрасный порт или кабель в зависимости от характеристик вашего телефона. На телефонах Nokia файлы jar -addjarsig -alias {myalias} -jarfile {myjar} -storepass {mypassword} -keypass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}

    Развертывание

    1. Разверните это в сети сервер с правильно установленными типами MIME и загрузите его на свой телефон, и это будет доверенное стороннее приложение
    2. . Вы также можете развертывать приложения на телефонах, отправив JAR и JAD на телефон через Bluetooth, инфракрасный порт или кабель в зависимости от функции вашего телефона. На телефонах Nokia файлы jar -addjarsig -alias {myalias} -jarfile {myjar} -storepass {mypassword} -keypass {mypassword} -keystore {mykeystore} -inputjad {myinputjad} -outputjad {myoutputjad}

    Развертывание

    1. Разверните это в сети сервер с правильно установленными типами MIME и загрузите его на свой телефон, и это будет доверенное стороннее приложение
    2. . Вы также можете развертывать приложения на телефонах, отправив JAR и JAD на телефон через Bluetooth, инфракрасный порт или кабель в зависимости от функции вашего телефона. На телефонах Nokia файлы JAD к телефону через Bluetooth, инфракрасный порт или кабель, в зависимости от характеристик вашего телефона. На телефонах Nokia файлы JAD к телефону через Bluetooth, инфракрасный порт или кабель, в зависимости от характеристик вашего телефона. На телефонах Nokia файлы появляются в папке входящих SMS

    Установка сертификата на телефон

    1. Импортируйте сертификат в свой телефон, в Windows XP SP2 я мог бы сделать для этого щелкните файл правой кнопкой мыши и выберите «Отправить на устройство Bluetooth», вы также должны иметь возможность отправлять файлы по кабелю или через инфракрасный порт (ИК). NB: I не нашел способа импортировать сертификат на телефон Series 40
    2. . После установки сертификата его необходимо авторизовать для «Установка приложения». На моем телефоне (Nokia 6680) это находится под Инструменты-> Настройки-> Управление сертификатами-> Настройки доверия, я включил все, но я думаю, что "Установка приложения" - это все, что вам нужно.

    Общие проблемы

    1. Приложение не установлено с помощью JAD: приложение является доверенным, только если оно установлено с помощью JAD, приложение все равно будет установлено из jar, но оно не будет доверять.
    2. Параметры доверия приложений не заданы: после установки приложения вам необходимо указать, какое доверие ему следует предоставить (по умолчанию оно не получает все разрешения). В телефоне Nokia Series 60 они находятся в приложении. Диспетчер.
    3. Корневой сертификат отсутствует в телефоне: Сертификат Java Verified и / или сертификаты Verisign отсутствуют на некоторых телефонах. Проверьте в Инструменты-> Настройки-> Управление сертификатами для соответствующего сертификата.
    4. Авторизация не удалась: - Есть все Множество возможных причин этого вот те, которые я Я слышал, но не проверял, что разрывы строк в MIDlet-Permissions могут вызывать проблемы, но мне кажется, что это нормально для Nokia 6680/6630 / 6230i (может зависеть от прошивки?)
    5. MIDlet Атрибут -Permissions является причиной множества проблем (особенно из-за того, что документация часто неверна / отсутствует или отличается в зависимости от телефона), попробуйте сначала не указывать его и добавлять разрешения по одному. Некоторые телефоны будут жаловаться на разрешения, которые они не поддерживают, некоторые игнорируют их
  • В некоторых ранних прошивках Nokia 6600 есть ошибка, которая останавливает установку доверенных мидлетов.
  • Сертификат еще не действителен: если вы сгенерировали сертификат самостоятельно срок его действия может быть завтра,
    1. «У меня возникают проблемы, если я пытаюсь использовать jadtool вручную. У меня есть цепочка сертификатов, и мне кажется, что я не могу добавить второй сертификат в файл JAD с помощью какого-либо инструмента jadtool WTK. Однако интересно то, что я могу успешно подпишите мидлет, используя любой из тех же интерфейсов графического интерфейса WTK - они правильно добавляют второй сертификат. Мои шаги: Я использую сертификат подписи кода Verisign, который фактически содержит два сертификата (пользовательский и промежуточный ЦС). Я использую инструмент подписи WTK 2.2. Вы знаете, поддерживает ли этот инструмент два сертификата при подписании? Подпись добавляется в файл JAD с двумя сертификатами, но при установке я получаю сообщение об ошибке безопасности. Я проверил устройство, на нем установлены разные корневые сертификаты для Verisign, но он все равно не работает!
    2. «Если хотите, вы можете загрузить комплект разработчика sprintpcs, поскольку он поддерживает двойные сертификаты ( http: // developer. sprintpcs.com ). Однако у меня никогда не было этого сертификата для работы на телефоне Nokia (6620 / cingular), хотя он действительно работает на телефонах sprint (с включенным root-доступом разработчика). создание сертификата, как описано в этом блоге, и установка его на телефон. Онлайн-проверка сертификата [Вкл. / Выкл. / Требуется] Также существует настройка адреса по умолчанию. Если требуется настройка онлайн-управления, проверка не удастся, если нет адреса по умолчанию. см. http://discussion.forum.nokia.com/forum/showthread.php?t=71071

    Доверенные домены

    1. В MIDP2 есть 4 различных доверенных домена (производитель, оператор, доверенная третья сторона, и ненадежный). Доверенная третья сторона - единственное, что нам действительно может пригодиться. Оно дает следующие возможности на моем Nokia 6680 (Vodafone UK):
    2. доверенная третья сторона и ненадежная). Доверенная третья сторона - единственное, что нам действительно может пригодиться. Она дает следующие возможности на моем Nokia 6680 (Vodafone UK): доверенная третья сторона и ненадежная). Доверенная третья сторона - единственное, что нам действительно может пригодиться. Она дает следующие возможности на моем Nokia 6680 (Vodafone UK): Доступ к сети: запрещен, спрашивать каждый раз, спрашивать в первый раз Обмен сообщениями: запрещено, спрашивать каждый раз, когда приложение Автозапуск: не разрешен, спрашивать каждый раз, спрашивать в первый раз Связь: Запрещено, Спрашивать каждый раз, Спрашивать в первый раз, Всегда разрешено Мультимедиа: Запрещено, Спрашивать каждый раз, Спрашивать в первый раз Чтение данных пользователя: запрещено, спрашивать каждый раз, спрашивать в первый раз, всегда разрешено Редактировать данные пользователя: запрещено, спрашивать каждый раз, спрашивать в первый раз, всегда разрешено
    3. Эти настройки определяются оператором и производителем телефона и, следовательно, различаются в зависимости от телефона, производителя и оператора.

    Нерешенные проблемы

    1. Мне удалось подписать JAD в этом формате с помощью утилит J2ME WTK, но при попытке установите его на устройство. Я получаю сообщение «Ошибка аутентификации приложения 909.

    Образец JAD

    MIDlet-Jar-URL: MyApp.jar
    MIDlet-Jar-Size: 201365
    MIDlet-Name: MyApp
    MIDlet-Vendor: EC1M
    MicroEdition-Profile: MIDP-2.0
    MicroEdition-Configuration: CLDC-1.1
    MIDlet-Icon: logo.png
    MIDlet-Push-1: sms://:6553,net.ec1m.MyApp.midp.MyAppMIDlet,*
    MIDlet-Description: MyApp MIDlet
    MIDlet-Permissions: javax.microedition.io.PushRegistry,javax.microedition.io.Connector.sms...
    MIDlet-Version: 1.0.67 MIDlet-1: MyApp, logo.png,net.ec1m.MyApp.midp.MyAppMIDlet
    MIDlet-Certificate-1-1: MIICODCCAaECBEKqpfswDQYJKoZIhvcNAQEEBQAwYz...=
    MIDlet-Jar-RSA-SHA1: EUsAch/.../hEZOsJsiCjBOhNs/3FSw4=
    

    Образец манифеста

    Manifest-Version: 1.0
    MIDlet-Name: MyApp  
    Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
    MIDlet-Push-1: sms://:6553,net.ec1m.MyApp.midp.MyAppMIDlet,*
    MIDlet-1: MyApp, logo.png, net.ec1m.MyApp.midp.MyAppMIDlet
    MicroEdition-Configuration: CLDC-1.1
    Ant-Version: Apache Ant 1.6.2
    MIDlet-Icon: logo.png
    MIDlet-Vendor: EC1M
    MIDlet-Permissions: javax.microedition...
    MIDlet-Version: 1.0.67
    MicroEdition-Profile: MIDP-2.0
    MIDlet-Description: MyApp MIDlet
    

    Образец файла сборки Ant Я разместил наш файл сборки муравья EC1M на нашем веб-сайте, чтобы (надеюсь) упростить вам все это. Другие ресурсы Этот FAQ на форуме Nokia стоит прочитать.

  • 25
    ответ дан 2 December 2019 в 05:41
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: