我正在尝试找到一种方法来为公司的员工创建数字签名并将其放在服务器中,员工可以从服务器中检索它们并将其附加到任何数字文档(Office 或 Adobe 文档)中,接收者可以通过服务器本身再次验证它。
我创建了一个 .cer 文件,但它在附加时提示没有密码,就像在 Adobe 中一样。有没有办法添加类似的文件或 .cer 文件本身,并使用某种密码机制来检索/使用?此外,检索器如何从服务器验证它?
我对这种数字签名设备很陌生,因此我请求,如果不详细的话,至少给我一个可以查看的方向。
答案1
[披露:我在 CoSign 工作。我们生产数字签名产品。]
回应原始问题和 sk1 对另一个答案的评论:
标准数字签名还是“数字签名”?
我认为问题在于标准数字签名,例如对于 PDF,最真实、最协调的文档是 PAdES。请参阅ETSI 页面。该标准与 PDF 规范的数字签名部分、NIST 数字签名标准等相协调。
确认
假设上述情况,关于验证签名文档的答案是,有许多软件应用程序可以验证标准数字签名。这可以在人们的工作站、服务器上、通过浏览器、移动应用程序等完成。例如:
- 在 PC 上,Adobe Reader(或 Acrobat)可以验证 PDF 文件上的数字签名。硝基专业版,Bluebeam 简报,福柯思幻影以及其他PDF软件。
- 在 PC 上,Microsoft Word 和 Excel 具有对 Word/Excel 文档进行数字签名和验证签名文档上的签名的原生功能。请注意,签名需要支持应用程序使用的本地 API 的签名基础结构:社区行动计划 / 社区行动计划
- 在服务器上,您可以使用来自不同供应商的软件/硬件签署和验证 PDF、Word 和 Excel 文档。该软件通常集成到 SharePoint 等 ECM 系统中。我的公司 CoSign 拥有成熟的SharePoint 服务器以及 SharePoint Online 数字签名产品。
- 对于浏览器访问,你需要一个支持签名和验证的 Web 应用程序。例如CoSign 网页应用程序顺便说一句,除了常见的 PDF 文件外,一些网络应用程序(包括 CoSign)还可以签署和验证 Word 和 Excel 文档。
- 数字签名应用程序也适用于 iOS 和 Android。由于私钥的安全问题,这些应用程序是存储私钥的实际签名服务的客户端。
私钥存储
问题还涉及存储签名者的数字证书/私钥的问题。行业规范和标准做法要求将签名者的私钥存储在安全签名创建设备 (SSCD) 中。最初的想法是将边缘设备(智能卡)用作 SSCD。
但众所周知,边缘设备在部署、维护、访问等许多实际问题上,目前已经出现了集中式SSCD服务器设备,并得到了标准机构的认可。关于这些问题的采访。
集中式 SSCD 设备位于您的网络内,保存签名者的私钥、证书和其他数据。它是一个坚固的盒子,具有防篡改技术,如果盒子被打开,私钥将失效。它应该由公认的独立测试实验室认证。联合签名和其他供应商生产这些设备。
投资回报期(ROI)通常为一年或更短。
答案2
尝试让事情变得更安全值得称赞,但你缺乏经验可能会适得其反(你为什么没有订购 3000 袋垃圾,每袋 10 美元,订单中有你的签名在上面?)。
虽然可以从密钥中删除密码,但我不建议在存储在最终用户机器上的证书上执行此操作。但是,以专有格式(如 msword)嵌入签名确实需要 msword 实例。这可以在具有适当访问控制的服务器上实现。
有开放标准用于用数字签名封装文件,但您需要调查需要验证签名的人是否有权使用此类工具(相反,我无法访问 msword)。
答案3
在我们提供帮助之前,您需要问自己想要保护什么并告诉我们,大多数情况下都有很多保护代码的选项。您应该选择最简单的,因为复杂的保护系统要慢得多,而且由于代码的大小可能会有薄弱环节。
不建议使用数字签名的方式。但是,您可以创建一个密码,该密码将传输到代表发送文档的人的数字签名(带有会话、cookie、识别系统等)。
就像 Facebook 一样,登录时您需要使用电子邮件和密码。当您登录时,您会将这些信息识别为您的个人资料图片,而不是电子邮件或任何参与您登录操作的内容。