存储在服务器上的文档上的数字签名

时间:2013-06-09 09:55:46

标签: digital-signature method-signature

我想通过存储在服务器上的网络浏览器文档在ERP上实现数字签名的流程。 这个过程应该是:

  1. 用户登录
  2. 用户查看存储在应该进行数字签名的服务器上的pdf文件
  3. 用户选择pdf文件为数字签名
  4. 文件将以数字签名
  5. 数字标牌可以使用智能卡或服务器端标志系统完成。 知道如何实施它吗?

3 个答案:

答案 0 :(得分:5)

[披露:我在CoSign工作]

您所描述的内容始终由我们的客户安全地完成(使用开放的标准PKI数字签名)。

数字签名签名通常在“安全签名创建设备(SSCD)”上完成。这通常是智能卡,但不一定是智能卡。一个重要的选择是安全的集中式系统。这就是CoSign和其他一些公司所销售的产品。

工作原理:您,CoSign或其他人编写的软件从ERP系统获取文档并计算doc的数字签名哈希值。哈希与签名者的身份验证信息一起发送到集中式SSCD。然后,SSCD计算数字签名,并将结果发送回请求系统。然后根据标准(例如pdf)将签名添加到文档中。结果:签名的pdf文件。 (或签名Word文档,或签名XML等。)

请注意,签名者的私钥永远不会离开SSCD。 CoSign的SSCD型号包括FIPS认证的防篡改外壳。如果有人打开案例,则会立即销毁所有私钥。 See description.

为了与您的ERP系统集成,我们预先构建了connectorsmultiple APIs

如需了解更多信息,请联系arx.com上的销售人员。告诉他们拉里发给你的。

答案 1 :(得分:4)

请阅读本书第4章:http://itextpdf.com/book/digitalsignatures

您的主要问题是签名需要私钥。此私钥存储在智能卡上,并且由于显而易见的原因,无法从该卡中提取(更不用说通过互联网发送)了。

您可能知道,实际签名是在智能卡的芯片上完成的,而不是在客户端的计算机上完成,甚至更少在服务器上!这意味着您将需要使用PKCS#11创建签名的客户端软件。 (另一种方法是使用MS-CAPI,但这只适用于Windows。)

您有不同的选择:您可以创建需要在服务器上签名的PDF的哈希值,并将该哈希值发送到客户端应用程序以使其签名。或者您可以将PDF发送到客户端并在客户端上完成签名。

请注意,我关于数字签名的书已经过时了。我们已经写了一个更好的方法来实现所谓的“延期签名”。

然而,事实仍然是,您希望服务器端签名涉及实际驻留在客户端的智能卡是一种矛盾。任何满足这种需求的解决方案都会违反所有安全问题。

答案 2 :(得分:0)

If the smartcard is physically on the client side, then something has to run on the client computer, regardless of whether there is a server component or not. This is because the signature is calculated on the smartcard itself, and only the computer that the smartcard is connected to can talk to it, so something has to run on the client.

The two options are:

  • Have the client software handle the entire signing process, from reading the PDF, feeding the required content to the smartcard, receiving the response signature from the smartcard, and inserting the signature into the PDF, or

  • Have the client software coordinate with the server to receive the PDF hash from the server, feed it to the smartcard, receive the response signature, send that back to the server, and then the server can insert the signature into the PDF (with variations of this scheme possible).

In either case, creating the signature has to happen on the client side, in the smartcard device.