我正在开发一个 Web 应用程序,并且我想对流程中的某个步骤进行数字签名
也就是说,应用程序的用户执行特定操作,我希望对该事件进行数字签名。
用户在发出数字签名操作时应使用 USB token 。
我想知道您建议采用哪种方法来完成这样的事情。
例如:
签署数据库记录(你如何完成它?)(缺点:我猜你必须使用应用程序本身来验证它)
创建一个说明事件和用户的 pdf,并对 pdf 进行数字签名(优点:pdf 独立于应用程序)
创建并签署 xml 文档(如何完成?数字签名存储在哪里?)
还有其他吗???
敬礼
SAS
最佳答案
我目前正在开发一个项目,该项目的要求与您在问题中列出的要求几乎相同。
我们正在使用 USB 设备来生成签名。该设备来自一家名为IronKey的公司,它非常安全,符合许多安全标准。该设备具有硬件生成的 key 对,可用于签名和验证。
当用户使用我们的应用程序提交数据时,我们将数据封装到 xml 文档中,接下来我们使用 sha256 生成哈希,最后我们通过 pkcs11 使用设备对哈希进行签名。然后签名和数据存储在客户端数据库中,然后提交到我们的服务器,我们可以使用用户 token 中的公钥(在颁发 token 时存储在我们的服务器数据库中)进行验证。
由于需要执行 token 的客户端访问,因此不使用 Web 应用程序执行此操作。
希望这有帮助,我错过了很多细节,如果您有任何其他问题,请告诉我!
关于web-applications - 对流程进行数字签名的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3261330/