我必须在 Android 应用程序中实现一个允许我签署 PDF 的功能,当我说“签名”时,我的意思是用户附加到文档末尾的数字签名(名字和名字)。
我可以使用三星 Note 4(带手写笔),然后在显示屏上“写”就不会有问题了。
问题是:有可能使用像 itext 这样的库来签署文档,还是我必须编写自定义函数?
我必须在 Android 应用程序中实现一个允许我签署 PDF 的功能,当我说“签名”时,我的意思是用户附加到文档末尾的数字签名(名字和名字)。
我可以使用三星 Note 4(带手写笔),然后在显示屏上“写”就不会有问题了。
问题是:有可能使用像 itext 这样的库来签署文档,还是我必须编写自定义函数?
我猜您想使用用户的笔迹用笔在文档上应用电子签名。正如@mkl 所说,“数字签名”概念通常在使用数字证书和密码学时应用。
手写电子签名要求
人们倾向于认为手写签名包含嵌入图像,但为了让您的系统在诉讼时具有最低法律价值,您将需要:
R1 - 确保签名者的身份
R2 - 唯一地附加签名和文件
R3 - 保护文档和签名的完整性
这些或多或少是数字签名的特征。
Android上的手写签名
android上的流程应该是这样的:
R2) 使用 Canvas 捕获用户图,包括生物特征(x、y、时间、压力)。使用 PDFBox 或 itext(客户端或服务器端)将图像和生物特征数据嵌入到文档中
R1) 在上一步中包含的生物特征数据允许专家对签名进行潜在分析
R3)我建议对文档和签名证据应用时间戳,以保护完整性并确保签名时间。itext 和 PDFBox 都支持
如果您不需要合法值,则仅应用绘图部分。您的签名质量将由设备特性决定。例如,特定的签名板也可以提供笔的方向
安卓链接
在画布上绘图并保存图像 (参见示例,您可以从事件中获得压力和时间)
您将找到 itext 的类似链接。选择最适合您的用例以及是否要在 Android 或服务器端执行