在Web应用程序中实现数字签名

时间:2013-01-17 11:31:19

标签: java digital-signature

我想要这样的东西 -

  1. 用户将访问我的网页(aspx页面)上的表格并填写表格。 (这是一个包含四个文本框的小表格。)
  2. 用户将在其PC(客户端计算机)中插入数字签名
  3. 我的java小程序将使用客户端语言中存在的客户端数字签名的私钥对表单上输入的数据进行签名(如果可能,可以生成该数据的散列)。
  4. 并将签名数据发送到服务器
  5. 我是java的新手..请尽可能分享一些代码...... (在服务器端运行asp.net应用程序,如果验证签名,将验证签名并收集数据)(公钥存储在数据库中以进行签名验证)

    Plz为我提供了一些解决方案......

2 个答案:

答案 0 :(得分:0)

根据这个Question: 真正的电子政务解决方案可以解决这个问题:1)在用户的PC上安装本地Java应用程序。应用程序侦听端口,例如5678 2)在您的页面中,javascript检测是否支持applet 3)如果没有支持,则以http://127.0.01:5678/sign形式连接到应用程序并将数据发送到标志。 4)应用程序是本地的,使用操作系统密钥库没有问题,操作系统密钥库包括驱动程序PKCS#11。进行数字签名并准备结果5)页面javascript定期查询结果并在准备好后检索它。 我目前正在开发类似的解决方案。执行成功后可以简单通知。 另请参阅此comment

答案 1 :(得分:0)

对于现代浏览器,也可以通过浏览器扩展提供对eToken的访问,因为现代浏览器(例如Chrome,Edge)不再支持Java Applets。 可以在客户端的浏览器端实现数字签名的不同任务,如以下SO答案中所述:

Client Registration and Authentication

Signing Content or Form or XML

PDF Signing根据您对运行.NET应用程序的服务器端的要求,此答案具有指向示例C#工作项目下载的链接。