Причина, по которой родился этот вопрос, в том, что я полностью потерян, поэтому, пожалуйста, прости тривиальные и бессмысленные части.
У меня есть приложение для Android, веб-сервис, смарт-карта MicroSD (карта безопасности для мобильных устройств). Мне нужно знать, как я могу использовать карту с ssl для безопасной связи с веб-сервисом. Пересборка и прошивка ОС невозможна.
Что я знаю:
- API, используемый для связи с MSC
- Как писать / развертывать апплеты в MSC
- Как позвонить в веб-сервис
Чего я не знаю:
- SSL
- Слишком много о сертификатах и криптографии (только сомнительные академические материалы из университета)
- Как все складывается и что я должен использовать для достижения этой цели
seek-for-android имеет руководство по OpenSC и библиотеку, но для этого нужно исправить ОС. Есть ли способ избежать этого и все же использовать решение?
Я знаю, что мог бы пойти гораздо дальше в этом деле с небольшим исследованием, но мой крайний срок довольно близок (несколько дней), поэтому мне нужна помощь, большая помощь и очень скоро .. Заранее спасибо!
EDIT:
Более конкретно:
У меня есть SD-карта для смарт-карт от Giesecke & Devrient, с ОС Java Card и прекрасными апплетами и средствами разработки. Я также получил службу Android для связи с картой (апплетами) с APDU. Это довольно низкий уровень, он принимает байт-коды в качестве команд и данных.
Мне нужно вызвать веб-сервис через SSL-аутентификацию. Теперь я знаю, что SSL использует (может использовать) аппаратные токены с интерфейсами PKCS # 11.
Существует проект под названием seek-for-android с руководством по исправлению ОС и стандартным интерфейсом PKCS # 11 через смарт-карту (я полагаю, это будет OpenSC). Я НЕ МОГУ патчить ОС.
Итак, снова вопросы:
- Может ли реализация Android Android использовать (настраиваемые) интерфейсы PKCS # 11 каким-либо образом, если да, то как? (например, возможно, с некоторыми провайдерами безопасности)
- Могу ли я использовать OpenSC (и другие вещи, упомянутые в связанном руководстве) без исправлений ОС (например, извлечь библиотеки и включить их в мое приложение)?
- В целом, как мне связать разрыв между смарт-картой низкого уровня и SSL высокого уровня? Я прошу у вас любые материалы по этому поводу.