2009-12-29 2 views
1

Я хотел создать приложение J2ME, в котором приложение должно работать только с SIM-картой, которая использовалась во время установки. При изменении SIM-карты (GSM) приложение должно работать. Для этого я подумал о подписи сим-карты и сохранил ее в постоянном хранилище. При каждом запуске приложения подпись может быть проверена. Любая идея о том, как это реализовать. Заранее спасибоОбнаружение смены SIM-карты J2ME

ответ

0

Я считаю, что это невозможно. Если бы это было возможно с помощью конкретного телефона, это было бы невозможно в общем виде.

0

Для ATT в США для приложений J2ME телефон встраивает «CarrierDeviceId» в файл Jad. Это уникально для каждой SIM-карты. Итак, если что-то похожее доступно вам, просто прочитайте этот параметр Jad при первом запуске приложения, сохраните его в RMS или отправьте на сервер. Теперь каждый раз, когда приложение запускается, вы можете проверить соответствие этого номера и, таким образом, проверить, что SIM-карта такая же.

Вы также можете попробовать получить номер телефона, привязанный к SIM-карте, и, таким образом, подтвердить, что используется старая SIM-карта.

1

«SATSA» (API службы безопасности и доверительного управления aka JSR177) может использоваться из вашего приложения J2ME для связи с SIM-картой. Вы можете отправить команды 3GPP TS 11.11 для получения IMSI (выбрать файл DG_GSM, выбрать файл EF_IMSI, прочитать двоичный файл).

Недостатки: (1) Вы разговариваете с SIM на относительно низком уровне абстракции (слой ISO7816-4); (2) Не все телефоны поддерживают JSR177 на данный момент.

+0

Это было бы тяжелой работой. Я использовал метод для сохранения некоторого ключа в RMS, который запустил приложение Java. Следовательно, при первом входе в систему приложение будет подписано. Тот же человек не может войти в систему, используя любое другое приложение. привязывая пользователя к приложению. Вместо этого я попытался связать приложение с semcard. В любом случае спасибо за поддержку ур – openros

Смежные вопросы