2013-12-09 1 views
2

Документация Cosign API рассказывает о подписании хеша в качестве альтернативы буферу потока. Как я могу получить хэш, а затем подписав его с SAPI?API-интерфейс Cosign: как подписать хэш документа с помощью SAPI?

Является ли подписание хэша достаточно безопасным для бизнес-приложения? Это обычная практика? Я прошу, потому что отправка хэша может быть более эффективной, чем отправка большого документа для подписания.

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

Теперь, если я использую клиентский SAPI, достаточно ли для развертывания DLL/сборки или мне также нужно установить клиент CoSign?

ответ

2

В зависимости от типа документа, который вы хотите подписать, вычисление хэш-значения может быть непростой задачей. Например, формат Adobe PDF поддерживает встраивание цифровых подписей в сам документ, но для правильного выполнения этого хэш-значение должно быть вычислено определенным образом, в соответствии со стандартом Adobe PDF.

Для типов документов, которые не поддерживают стандарты цифровой подписи, получение хэша для всего файла проще и может быть выполнено с использованием любой внешней криптографической библиотеки или инструмента.

Вопрос заключается в том, почему вы хотите отделить процесс хэш-вычислений от операции подписи, в то время как SAPI (CoSign Signature API) заботится о вычислении хэша в соответствии со стандартом, подписывая его цифровым способом и встраивая его обратно в документ?

SAPI всегда будет вычислять хэш файла/документа на клиентской машине, а затем отправит этот хэш (и только хэш) на сервер CoSign для подписания (и да - подписание хэша действительно является обычной практикой) , Это также относится к документам, которые поддерживают встроенные подписи (например, PDF, XML, DOCX, XLSX и т. Д.).

Сказав, что, если вы по-прежнему заинтересованы в подписании документа хэш только с помощью SAPI, вы можете сделать это, называя BufferSignEx функцию и вставьте AR_SAPI_SIG_HASH_ONLY константу в Флаги параметр.

0

Re: Является ли подписание хэша достаточно безопасным для бизнес-приложения?

Да, все стандартные цифровые подписи подписывают хеш-значение. Поскольку хороший хеш, такой как SHA-2, представляет собой содержимое документа, и любые изменения в документе изменят значение SHA-2, хэш будет подписан, а не документ.

Re: Это обычная практика?

Да, это стандартный способ создания стандартных цифровых подписей для PDF, Word, Excel, XML и для чего-либо еще.

Библиотека SAPI Windows обрабатывает проблемы хеширования. Если вы используете SAPI Web Services для подписывания PDF, Word или Excel, вам необходимо отправить весь документ, который должен быть подписан, или вам необходимо обработать хеширование на стороне клиента.Правильное вычисление хэша является важной задачей для большинства типов документов, так как хэш должен быть вычислен стандартным образом и должен использовать только нужные объекты данных из исходного файла.

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

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

  • Нет связанных вопросов^_^