| ||||
| ||||
Здравствуйте, передо мной стоит следующая проблема: есть клиент-серверное решение(тонкий клиент-IE) пользователь должен иметь возможность подписывать файлы находящиеся на сервере возможен и корректен такой подход? вначале формируется хеш на сервере(чтоб бы не пересылать весь контент клиенту), затем клиент подписывает хеш, а результат отсылает серверу. Насколько я понимаю при помощи capicom это реализовать невозможно. Возможна ли такая реализация при помощи функций высокого уровня CryptoAPI или все же придется делать через низкоуровневые? Заранее благодарен. | ||||
Ответы: | ||||
| ||||
Корректен, если 1)Клиент уверен, что он подписывает именно тот хэш, который сформировал сервер 2)Сервер уверен, что именно клиент подписал хэш 3)Если данные секретные - то обеспечивается конфиденциальность Вообщем, нужен защищенный канал :) Да, придется пользоваться функциями CryptHashData, CryptSignHash, CryptVerifySignature etc. Или есть такой вариант (с CAPICOM) - подписывать хэш хэша - т.е. на сервере пользоваться HashedData а на клиенте - SignedData. | ||||
| ||||
Спасибо за ответ. Канал действительно защищенный (забыл написать). Теперь возникает еще один вопрос: Скорее всего при использованиии capicom невозможно будет проверить подпись и целосность данных другими приложениями(Crpytrocp, КриптоАРМ). Следовательно остается только вариант работы с низкоуровневыми функциями CryptoAPI? | ||||
| ||||
Да, невозможно. Но и при работе с низкоуровневыми функциями надо иметь ввиду, что CryptSignHash возвращает совсем не ту подпись (не PKCS7), с которой умеют работать КриптоАРМ и cryptcp. Т.е. формирование PKCS7 надо будет делать самостоятельно. | ||||