java—附加到文件的数字签名

2nbm6dog  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(440)

我需要实现数字签名到我的网络应用程序。我遵循了这个和这个示例,并成功地对给定的文件进行了签名和验证。
我的问题是关于流程:
我可以导出签名,那么我应该如何处理签名?把它保存在数据库里?
如果我用 BouncyCastle 导出的文件不可读。附有签名的文件是否可读?
这是数字签名的正确流程:使用用户证书创建签名、存储签名、创建签名验证端点吗?
如果3。是正确的,这是否意味着如果文件发送到应用程序外部,收件人将不知道文件是否已签名?签名应该附在文件上吗?如果是的话,是否有针对所有类型文件的解决方案(即,我找到了基于pdf的解决方案)。
也许这个问题涉及面很广,但我对任何有关这个问题的材料都持开放态度。

x33g5p2x

x33g5p2x1#

我可以导出签名,那么我应该如何处理签名?
您必须区分私钥、证书和签名。
私钥:用户的私钥,如果是在加密设备中创建的,永远不会从设备中出来。
证书,简而言之,是一个签名的公钥。认证机构(ca)签署了它,证书是公开的。
签名是签名的内容。事实上,要签名的内容被散列,然后这个散列被签名,这被称为签名。
这是数字签名的正确流程:使用用户证书创建签名、存储签名、创建签名验证端点吗?
私钥用于对内容(内容哈希)进行签名。产生的字符串称为签名。证书(公钥)用于验证签名。
是否有解决所有类型的文件(即我找到了基于pdf的解决方案)。
任何内容都可以签名。诸如csv数据、xml、json等签名文本文件由接受用户或成员数据的web应用程序使用。例如电子报表、银行签署的付款结算数据、投标表格等。pdf(以及其他一些格式)支持签名和验证签名,是广泛用于共享文档的格式。文档可以显示可见的签名,因此pdf签名是讨论最多的签名格式。
否则,任何应用程序都可以定义签名要求,用户(客户端应用程序或web浏览器)遵循所需的签名标准,然后应用程序可以验证是否按照预定义的格式和标准附加了签名(以及数据)。
我需要实现数字签名到我的网络应用程序。
现代浏览器可能需要使用浏览器扩展来访问存储在本地计算机上的证书。例如:signer.digital browser扩展

相关问题