我正在开发一个存档系统,它将文档存储在数据库中,并为用户提供各种功能。我添加了一个部件来签名并验证数据库中的任何文档。但是,我坚持逻辑并想知道我应该在哪里放置签名功能
关于我的目标的提示:
我使用的初始解决方案是将签名过程放在上传按钮调用的表单中,并将文件的签名存储在Documents表的单独列中。数据库。但是,该解决方案对我的方案无效,好像员工下载了一个文件然后再次上传,然后它将由他签名,因此原始签名将丢失。此外,签名对系统没有任何意义。
我的主要问题:
有没有办法将签名存储在文件中?
提示:我的系统只处理PDF,JPEG,Tiff,MS Office和TXT文档。
子公司要求:如果有办法将签名存储在任何类型的文件中,那将是非常棒的!
答案 0 :(得分:0)
有没有办法将签名存储在文档中?
必须使用正在签名的文档的哈希来构建数字签名。由于向文档添加签名会修改文档(使散列无效),因此没有将数字签名存储在文档中的通用解决方案。
某些文档格式允许数字签名并定义要从散列中排除的部分,但据我所知列出的那些格式不在其中。 (虽然PGP可用于TXT文档。)
答案 1 :(得分:0)
由于签名对文档的哈希进行签名,因此您只需创建一个表映射哈希到签名的表。因此,下载和重新上载文档将不会删除现有签名,因为散列将保持不变。当然,这种方法的用处取决于系统中签名的语义含义。