Одна из задач, которые возникнут в процессе реализации - создание удобного средства для подписания пользователем информации, запрашиваемой со страниц системы.
Возможно, имеет смысл использовать технологию, которая используется в Webmoney Keeper. Там для подтверждения платежа со страницы идет обращение (через JavaScript) к локальному адресу 127.0.0.1 этого-же компьютера, а этот порт слушает программа. Она выдает диалог и, как я понимаю, отправляет скрипту ответ.
Т.е. в нашем случае мы делаем программу, которая слушает определенный порт. Страница, при необходимости подписывания чего-то, делает запрос на этот локальный адрес и передает туда текст для подписи. Программа, принимая этот запрос выдает окошко типа "Требуется ваша подпись" и строку для подписи (пример я
приводил ранее). В окошке пользователь видит что нужно подписать, вводит свой пароль и программа на его основе и на основе вставленной в компьютер SD карты с закрытым ключем, формирует подпись и передает ее назад на страницу.
По-моему, получится достаточно удобно для пользователя. И, кстати, такая система будет универсальной и может не ограничиться только подписью для страниц в нашей системе. Ее смогут использовать разные сервисы для подписывания действий пользователя. В том числе, кстати, и платежные системы.