2010-01-25 5 views
16

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

Есть ли какая-либо поддержка для этого, не прибегая к элементам управления ActiveX? Мы очень хотели бы держаться подальше от них. Есть ли что-нибудь, что может принести какую-то помощь, например, тег Canvas HTML5 или что-то в этом роде? Было бы здорово, если бы мы могли поддерживать как подписи, так и планшетные ПК.

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

+1

Что именно вы собираетесь использовать для этого? Для меня это звучит так, будто вы, возможно, слишком усложняете что-то. Если вы немного подробнее расскажете о проблеме, которую пытаетесь решить, может быть, кто-то придумает предложение для более простого решения :) – Leif

+0

earlz - Я не думаю, что цифровые подписи в США вообще неаккуратные в США как мы полагались на них в течение многих лет. См. Мой ответ в другом месте на странице. –

+0

Для тех, кто находит это, кто думает: просто используйте пароли (или закрытый ключ и т. Д.), Вы правы, это лучшее решение, если вы только хотите проверить пользователей. Однако у OP и I есть требование для захвата * не-пользовательских * подписей. – MGOwen

ответ

0

На самом деле то, что мы в конечном итоге делаем это следующим образом:

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

На нашем сайте у нас есть серия кнопок, таких как «знак» «clear» и «done». Когда нажата кнопка значка, он начнет процесс, который будет опроса локального сервера каждые 50 или 100 мс или около того с помощью созданного таким образом тега изображения <img src="http://127.0.0.1?signature&time=..." /> (где ... это текущее время, поэтому никаких проблем с кешированием). Это делает так, что изображение можно четко увидеть в браузере и хорошо работает для каждого браузера, в котором я его тестировал.

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

Это также было бы легко сделать, чтобы была возможность использовать планшетные компьютеры, чтобы использовать элемент управления <canvas> или аналогичный для прямого рисования на экране.

1

Когда я изучал jQuery, я написал программу «Простая краска». Эта программа имела 100x100 div и цветовой выбор. Я мог бы рисовать разные вещи, удерживая нажатой левую кнопку мыши. Потребовалось около 4 часов, чтобы написать эту программу (т. Е. Очень легко, особенно если предположить, что я изучал jQuery и не знал, как правильно ее использовать).

P.S. вы описываете самое странное требование, которое я когда-либо слышал.

+0

Единственная проблема с этим - внешние подписи, потому что они не работают, как планшетное устройство. – Earlz

3

Я вряд ли сомневаюсь, что это мотивируется, поскольку нет возможности провести анализ подписи и т. Д. Но я не юрист, так что это может стоить другого обсуждения :-).

Нет ли в вашей стране что-то вроде DigiD. Это правительственный механизм идентификации с проверкой, который используется в Нидерландах для подписания (например) налоговых документов.

Также проверьте CanvasPaint (домен истек). Этот код был открыт автором (см. here). Это реализация Paint в чистом Javascript, используя тег <canvas>.

+1

Существуют законы, касающиеся того, как цифровые подписи должны храниться и использоваться, но нет «одного официального устройства». Хотя цифровые подписи все равно немного встряхиваются здесь, в США. Некоторые люди предполагают, что вам нужно больше, чем просто образ подписи, чтобы проверить, что это подлинные подписи (например, количество давления на планшет) .. но я не думаю, что многое было судимо в суде. – Earlz

+0

А ну, пока это не ваша мысль. Возможно, вы захотите проверить CanvasPaint, это соответствует вашим требованиям. См. Редактирование. –

0

Если они не используют планшетный ПК, то рендеринг мыши «подписи» может выглядеть не так, как обычно. Не знаете, как законность этого будет задерживаться.

В качестве альтернативной реализации и, вероятно, в равной степени жизнеспособной для онлайн, введите текстовое поле для ввода своего имени в качестве своей «электронной подписи». Затем, если платформа позволяет выполнить реальный сиг, который будет выполняться должным образом (например, известный как таблетка с ручкой), тогда пусть вместо этого они подпишут.

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

5

Это не совсем ответ на вашу проблему, но если вы находитесь в Соединенных Штатах, вам не понадобится собственноручная подпись, чтобы документ считался юридически «подписанным». Пока форма, которую они подписывают, соответствует определенным критериям проверки подлинности, онлайн-соглашение считается полностью выполненным электронным приемом.Например, в нашей системе, люди подписывают документ, используя следующие:

My Name: Mark Graquel 
My System ID: 998877 
Today's Date: 1/25/2010 

You agree that the Name and/or ID shown above fully, accurately and uniquely 
identifies you in our database. You furthermore agree that your submission of 
this form, via the "I Accept" button, shall constitute the execution of this 
document in exactly the same manner as if you had signed, by hand, a paper 
version of this agreement. 

Для получения более подробной информации о законе, который охватывает электронные подписи, см "Digital Signatures Act."

+1

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

+0

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

0

Вы можете сделать это с помощью холста HTML5. Просмотрите эти приложения для рисования, сделанные полностью с помощью HTML5. Потрясающие!

http://mugtug.com/sketchpad/

-1

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

Wet подпись неприятность, но по-прежнему необходима в некоторых случаях ...

4

Возможно, это JQuery плагин: http://thomasjbradley.ca/lab/signature-pad/

API, из esignature службы, такие как DocuSign и EchoSign обеспечит вас большее соответствие, а также, возможно, более совершенные простотой использования для ваших клиентов/клиентов через их обращение с различные варианты использования в процессе обработки (больше, чем вы думаете).

Для вашей ситуации и для передачи в документах, которые вы создали, их API-интерфейсы могут быть ограничительными при использовании pdf-wizardry. legalesign.com (я участвую в этом проекте) - это более открытая система, в которой реализована более глубокая интеграция API для решения этой проблемы. Мы в бета-версии и еще не выпустили API, но рады услышать о показаниях, представляющих интерес.

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

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