网页中的电子签名

时间:2010-01-25 22:58:05

标签: asp.net html electronic-signature topaz-signatures

我有一个ASP.Net应用程序。这是一个人们填写表格的应用程序。好吧,我们希望人们能够以电子方式签署表格(如手写签名),以便签名保存在服务器中并显示在网页上。

在不必使用ActiveX控件的情况下,是否有任何类型的支持来做这种事情?我们真的很想远离那些。是否有任何可能有一些帮助的东西,如Canvas HTML5标签或类似的东西?如果我们能够同时支持签名板和平板电脑,它会非常整洁。

此外,电子签名是必需的,因为我们更愿意,如果他们通过计算机签署表格并将其存储在我们的服务器上,而不是将其打印出来,签名并在某个地方将其归档以使其过时。

8 个答案:

答案 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 :(得分:5)

也许这个jquery插件:http://thomasjbradley.ca/lab/signature-pad/

来自docusign和echosign等esignature服务的API将确保您通过在esigning过程中处理不同的用例,为您的客户/客户提供更多的合规性,并且可能更好的易用性(比您更多)可能会想)。

对于您的情况和传入您生成的文档,他们的API可能会受到限制,因为pdf魔法正在进行中。 legalesign.com(我参与了这个项目)是一个更开放的系统,它具有更深入的API集成的结果来处理这个问题。我们处于测试阶段但尚未发布API,但很高兴听到有兴趣的迹象。

答案 2 :(得分:3)

我几乎不怀疑这是否可以辩护,因为没有可能进行签名分析等。但我不是律师,所以这可能值得再讨论: - )。

您所在的国家/地区是否有类似DigiD的内容。这是政府颁发的带有验证的识别机制,用于在荷兰签署(例如)税务档案。

同时检查 CanvasPaint (域已过期)。它的代码由作者开源(见here)。它是纯Javascript中的Paint实现,使用<canvas>标记。

答案 3 :(得分:1)

当我学习jQuery时,我写了'Simple Paint'程序。这个程序有100x100 div和颜色选择器。我可以画出不同的东西,按住鼠标左键。编写该程序花了大约4个小时(即如果我们假设我正在学习jQuery并且不知道如何正确使用它,那就非常容易了)。

P.S。你描述了我听过的最奇怪的要求。

答案 4 :(得分:0)

如果他们不使用平板电脑,那么“签名”的鼠标渲染可能看起来与他们通常不会签名一样。不确定这种合法性如何能够保持下去。

作为一种替代实施方式,可能同样适用于在线实施,请提供一个文本框,将其名称输入为“电子签名”。然后,如果平台允许正确执行真正的信号(例如已知是带笔的平板电脑),那么让它们正常签名。

他们在填写表格上的“个人标记”也可能只是他们登录填写的事实。电子sig不必采用您通常期望的格式。离线事物的在线实施通常不能正确翻译或存在无法预料的漏洞。

答案 5 :(得分:0)

您可以使用HTML5画布执行此操作。查看完全使用HTML5制作的绘图应用程序。真棒!

http://mugtug.com/sketchpad/

答案 6 :(得分:0)

实际上我们最终做的是以下内容:

在客户端的计算机上运行自定义Web服务器。 Web服务器与签名板进行连接。我们使用我们的网站控制每个人,所以这不是问题。

在我们的网站上,我们有一系列按钮,例如“sign”“clear”和“done”。当单击符号按钮时,它将开始一个进程,该进程将每50或100ms左右轮询本地主机服务器,其中创建的图像标记为<img src="http://127.0.0.1?signature&time=..." />(其中...是当前时间,因此没有缓存问题) 。这使得图像可以在浏览器中清晰地看到,并且适用于我测试过的每个浏览器。

然后,当用户点击完成以便从服务器访问图像的实际数据时,我们使用JSONP请求(以便我们可以跨越域边界)来获取图像的base64编码值和/或签名数据。我们将它存储在一个隐藏的领域。每当用户单击表单(或其他)的保存时,该隐藏字段将被发送到服务器并保存。

这也很容易,因此有一个平板电脑选项,以便它使用<canvas>控件或类似控件允许直接在屏幕上绘图。

答案 7 :(得分:-1)

不确定普通人如何使用鼠标进行签名......我们做过类似的事情,但我们所做的是提供需要下载签名的表单页面,然后他们可以签名,扫描和上传试。

湿签名是一种麻烦,但在某些情况下仍然是必要的......