2010-01-25 24 views
16

Tôi có một ứng dụng ASP.Net. Đây là một ứng dụng mà mọi người điền vào biểu mẫu. Vâng, chúng tôi muốn mọi người có thể ký vào mẫu đơn điện tử (như trong, chữ viết tay của họ) để chữ ký được giữ trong máy chủ và hiển thị trên trang web.Chữ ký điện tử trong các trang web

Có hỗ trợ nào để thực hiện việc này mà không phải sử dụng các điều khiển ActiveX không? Chúng tôi thực sự muốn tránh xa những người đó. Có điều gì sắp xảy ra và sắp tới có thể là một số trợ giúp như thẻ HTML5 Canvas hay bất kỳ thứ gì như thế không? Nó sẽ siêu gọn gàng nếu chúng ta có thể hỗ trợ cả miếng đệm chữ ký và máy tính bảng.

Ngoài ra, chữ ký điện tử là bắt buộc vì chúng tôi muốn ký vào biểu mẫu thông qua máy tính và lưu trữ trên máy chủ của chúng tôi thay vì in ra, ký tên và lưu trữ ở một nơi nào đó để lỗi thời.

+1

Chính xác thì bạn sẽ sử dụng điều này để làm gì? Đối với tôi, có vẻ như bạn có thể làm phức tạp điều gì đó. Nếu bạn xây dựng thêm một chút về vấn đề bạn đang cố gắng giải quyết, có thể ai đó sẽ đưa ra đề xuất cho một giải pháp đơn giản hơn :) – Leif

+0

earlz - Tôi không nghĩ rằng chữ ký số ở Mỹ đang run rẩy ở Mỹ như chúng ta đã dựa vào chúng trong nhiều năm. Xem câu trả lời của tôi ở nơi khác trên trang. –

+0

Đối với bất cứ ai tìm thấy người này nghĩ rằng: chỉ cần sử dụng mật khẩu (hoặc khóa riêng, v.v.) bạn là đúng, đây là giải pháp tốt nhất nếu bạn chỉ muốn xác minh người dùng. Tuy nhiên, OP và cả hai đều có yêu cầu để ghi lại chữ ký * không phải của người dùng *. – MGOwen

Trả lời

0

Trên thực tế những gì chúng ta đã kết thúc làm như sau:

Trên máy tính của khách hàng một phong tục làm máy chủ web đang chạy. Máy chủ web thực hiện giao tiếp với bảng chữ ký. Chúng tôi có quyền kiểm soát tất cả mọi người bằng cách sử dụng trang web của chúng tôi vì vậy đây không phải là một vấn đề.

Trên trang web của chúng tôi, chúng tôi có một loạt các nút như "ký" "rõ ràng" và "đã hoàn tất". Khi nút sign được click, nó sẽ bắt đầu một quá trình sẽ thăm dò máy chủ localhost cứ 50 hoặc 100ms hoặc hơn với một thẻ ảnh được tạo như vậy <img src="http://127.0.0.1?signature&time=..." /> (trong đó ... là thời gian hiện tại nên không có vấn đề về bộ nhớ đệm). Điều này làm cho nó để hình ảnh có thể được nhìn thấy rõ ràng trong trình duyệt và hoạt động tốt cho mọi trình duyệt mà tôi đã thử nghiệm.

Sau đó, khi người dùng nhấp vào được thực hiện để có được dữ liệu thực tế của hình ảnh từ máy chủ, chúng tôi sử dụng yêu cầu JSONP (để chúng tôi có thể vượt qua biên giới tên miền) để nhận giá trị được mã hóa base64 của hình ảnh và/hoặc dữ liệu chữ ký. Chúng tôi lưu trữ điều này trong một lĩnh vực ẩn. Bất cứ khi nào người dùng nhấp vào lưu cho biểu mẫu (hoặc bất kỳ điều gì) thì trường ẩn này sẽ được gửi tới máy chủ và được lưu. Điều này cũng dễ dàng để có để có một tùy chọn cho máy tính bảng để nó sử dụng một điều khiển <canvas> hoặc tương tự để cho phép vẽ trực tiếp trên màn hình.

1

Khi tôi học jQuery tôi đã viết chương trình 'Sơn đơn giản'. Chương trình này có trình chọn màu và 100x100. Tôi có thể vẽ những thứ khác nhau giữ nút chuột trái được nhấn. Mất khoảng 4 giờ để viết chương trình đó (nghĩa là nó rất dễ dàng, đặc biệt nếu chúng ta giả định rằng tôi đã học jQuery và không biết cách sử dụng nó một cách chính xác).

P.S. bạn mô tả yêu cầu kỳ lạ nhất mà tôi từng nghe.

+0

Vấn đề duy nhất với điều này là miếng đệm chữ ký bên ngoài vì chúng không hoạt động giống như một thiết bị máy tính bảng. – Earlz

3

Tôi hầu như không nghi ngờ liệu điều này có dễ hay không, vì không có khả năng phân tích chữ ký, v.v. Nhưng tôi không có luật sư, vì vậy điều này có thể đáng để thảo luận :-).

Không có gì giống như DigiD khả dụng ở quốc gia của bạn. Đó là cơ chế xác định được chính phủ cấp với xác minh, được sử dụng ở Hà Lan để ký (ví dụ) các tệp thuế.

Đồng thời kiểm tra CanvasPaint (miền hết hạn). Mã của nó đã được mở bởi tác giả (xem here). Nó là một triển khai Paint trong Javascript thuần túy, sử dụng thẻ <canvas>.

+1

Có những luật liên quan đến cách chữ ký điện tử phải được lưu trữ và sử dụng, nhưng không có "một thiết bị chính thức". Mặc dù chữ ký số vẫn còn hơi lộn xộn ở đây ở Mỹ .. Một số người suy đoán rằng bạn cần nhiều hơn chỉ là hình ảnh của chữ ký để xác minh nó là một chữ ký xác thực (ví dụ, số lượng áp lực trên máy tính bảng) .. nhưng tôi không nghĩ rằng bất cứ điều gì đã được thử tại tòa án. – Earlz

+0

Ah, miễn là đó không phải là quan điểm của bạn. Bạn có thể muốn kiểm tra CanvasPaint, nó đáp ứng reqs của bạn. Xem tôi chỉnh sửa. –

0

Nếu họ không sử dụng máy tính bảng thì việc kết xuất chuột của "chữ ký" có thể trông giống như bình thường mà họ thường ký. Không chắc chắn về tính hợp pháp của việc này.

Là một triển khai thay thế và có thể khả thi một cách hợp lý để trực tuyến, hãy cung cấp hộp văn bản để nhập tên của chúng thành "chữ ký điện tử" của chúng. Sau đó, nếu nền tảng cho phép một sig thực được thực hiện đúng cách (ví dụ như được biết đến là một viên thuốc với bút) sau đó để cho họ ký bình thường thay thế.

"Dấu cá nhân" của họ trên biểu mẫu điền đầy đủ cũng có thể đơn giản là sự kiện họ đăng nhập để điền vào. Sigs điện tử không phải đảm nhận định dạng mà bạn thường mong đợi. Việc triển khai trực tuyến những thứ ngoại tuyến thường không dịch đúng hoặc có sơ hở không lường trước được.

5

Đây không phải là câu trả lời chính xác cho vấn đề của bạn nhưng nếu bạn ở Hoa Kỳ, bạn sẽ không cần chữ ký viết tay để tài liệu được coi là "đã ký" hợp pháp. Miễn là biểu mẫu "ký" đáp ứng các tiêu chí xác thực nhất định, một thỏa thuận trực tuyến được coi là hoàn toàn được thực thi bởi chấp nhận điện tử.Ví dụ, trong hệ thống của chúng tôi, những người ký vào một tài liệu bằng cách sử dụng sau đây:

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. 

Để biết thêm thông tin về pháp luật bao gồm chữ ký điện tử, xem "Digital Signatures Act."

+1

Có, nhưng về cơ bản khách hàng của chúng tôi sử dụng trang web của chúng tôi để cho phép những người khác điền vào một số biểu mẫu nhất định. Vì vậy, khách hàng của chúng tôi khách hàng cần để có thể đăng nhập nó một cách xác thực .. vì vậy tôi không nghĩ rằng điều này sẽ làm việc, nhưng tôi sẽ kiểm tra liên kết đó. – Earlz

+0

Earlz - bạn nói đúng rằng điều này sẽ không hoàn toàn hiệu quả vì không có bất kỳ bảo mật xác thực nào - chúng tôi không có kỳ vọng hợp lý rằng người nhấp vào nút đó là người đồng ý với các điều khoản. Bây giờ, nếu bạn có một số hình thức xác thực khác (ví dụ: khách hàng đã tạo một tài khoản riêng trên hệ thống của bạn * trước * chúng sẽ được đặt ở vị trí để ký vào biểu mẫu này) thì bạn có thể thực hiện công việc này. Bạn chỉ cần yêu cầu người tham gia xác thực * tại đây * bằng cách nhập ID tài khoản và mật khẩu của họ trước khi họ nhấp vào nút chấp nhận. –

0

Bạn có thể làm điều đó với một canvas HTML5. Xem các ứng dụng vẽ này được tạo hoàn toàn bằng HTML5. Tuyệt vời!

http://mugtug.com/sketchpad/

-1

Bạn có biết một người bình thường sẽ ký sử dụng một con chuột ... Chúng tôi đã làm một cái gì đó như thế này, nhưng những gì chúng tôi làm là cung cấp các trang của mẫu đơn yêu cầu chữ ký để tải về, mà họ có thể sau đó đăng nhập, quét và tải lên lại.

chữ ký Wet là một phiền toái, nhưng vẫn cần thiết trong một số trường hợp ...

4

Có lẽ đây plugin jquery: http://thomasjbradley.ca/lab/signature-pad/

API từ dịch vụ esignature như DocuSign và echosign sẽ đảm bảo với bạn tuân thủ hơn, và cũng có lẽ của tốt hơn tính dễ sử dụng cho các khách hàng của bạn/khách hàng thông qua việc xử lý của họ về các trường hợp sử dụng khác nhau trong quá trình esigning (nhiều hơn bạn có thể nghĩ).

Đối với trường hợp của bạn và để chuyển các tài liệu bạn đã tạo, các API của họ có thể bị hạn chế khi trình hướng dẫn pdf diễn ra. legalesign.com (tôi tham gia vào dự án này) là một hệ thống mở hơn, có khả năng tích hợp API sâu hơn để xử lý vấn đề này. Chúng tôi đang ở giai đoạn thử nghiệm và chưa ra mắt API, nhưng vui mừng được nghe về những dấu hiệu quan tâm.

Các vấn đề liên quan