Подписывать данные в ASPX на стороне клиента - PullRequest
1 голос
/ 20 декабря 2010

В моем приложении клиент должен подписаться (используя сертификат) и отправить данные на сервер. Я сомневаюсь, как мне это сделать?

Чтобы подписать на стороне клиента, я должен использовать ActiveX, верно? Моя проблема в том, что Firefox не поддерживает это. Для подписи на стороне сервера у меня есть два варианта:

  1. Сохраните закрытый ключ на сервере и используйте его при необходимости (если данные изменяются во время транзакции, он подпишет ложные данные)
  2. При необходимости отправьте секретный ключ (может содержать ключ)

Несмотря на использование SSL, мне не очень удобен ни один из двух вариантов подписи на стороне сервера ... Использование ActiveX может сделать мое приложение более уязвимым, верно?

Надеюсь, вы можете помочь мне:)

1 Ответ

1 голос
/ 20 декабря 2010

К сожалению, во всех браузерах не существует единого решения для подписи на стороне клиента. В настоящее время мы работаем над компонентами распределенной подписи для нашего продукта SecureBlackbox и создали подпись для Java-апплета, элемента управления ActiveX и сценария Flex. Однако у всех вариантов есть недостатки. Например, только элемент управления ActiveX может получить доступ к хранилищу сертификатов Windows. При использовании других типов модулей пользователю потребуется загрузить сертификат из файла PFX (PKCS # 12).

Загрузка и подпись на сервере не будут работать, потому что закрытый ключ не всегда экспортируется на клиенте (он может находиться в криптовалюте или на смарт-карте или просто не экспортироваться), а также этот подход делает весь процесс бесполезным так как это значительно снижает безопасность.

Обновление : SecureBlackbox 9 сейчас находится в публичной бета-версии с поддержкой подписи на стороне клиента (для этого мы предоставляем модули ActiveX, Java и Flash).

...