web-applications - 对流程进行数字签名的策略?

标签 web-applications digital-signature digital-certificate

我正在开发一个 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/

相关文章:

java - 签名中的空格是什么意思?

cruisecontrol.net - SignTool.exe 偶尔会失败,退出代码为 1

visual-studio - 使用数字证书签署我的解决方案

javascript - 如何判断每个用户访问每个页面的时间?

amazon-web-services - Drupal 与亚马逊网络服务?

java - 在 Java 中实现 RSA-SHA1 签名算法(创建用于 OAuth RSA-SHA1 签名的私钥)

java - 如何使用 mscapi.RSAPrivateKey 进行 JWT 签名?

angularjs - 在 AngularJS 测试中是否有比 Protractor/XPath 更好的替代方案?

python - 哪些网络编程语言能够制作此网络应用程序?

iphone - 如何在ios中将数字签名图像添加到pdf中?