在基于Spring的Web应用程序上实现带有数字证书的标志

时间:2018-01-15 01:53:32

标签: java spring-mvc web-applications digital-signature

我有基于spring mvc的web应用程序。其中一个用例要求客户以数字方式签署他在表单中提供的信息。然后,此签名将嵌入到将在确认时生成的PDF中。我该如何以安全的方式实现这一点。

目前,我要求客户下载PDF并将其签名,然后重新上传,因为我不希望他们将私钥上传到服务器

请你为同样的

推荐更好的方法

1 个答案:

答案 0 :(得分:0)

用户可以在表单中提供他的私钥,但它永远不会发送到服务器。而是将表单的所有其他字段发送到服务器,然后服务器发回生成的PDF的SHA哈希。现在可以在本地对此哈希进行签名,并将生成的签名再次发送回服务器并附加到PDF。

然而,大多数用户永远不会以任何在线形式提供他们的私钥,而且在表单内创建数字签名并不容易。

因此,您可以选择部分方法,用户只需签署PDF的SHA哈希并将其签名粘贴到表单的下一页。所以现在需要下载/上传。我仍然可以下载PDF,因此用户可以检查散列是否有效。