电子签名PDF Android

时间:2016-12-28 10:29:30

标签: android pdf itext electronic-signature

我需要制作一个应用程序,您将在其中打开PDF文档,将其显示给客户,然后他将以电子方式签名(在平板电脑上写下他的签名)。

根据我的阅读,您需要创建签名中的数据(时间戳,压力和绘图时间)并将其附加到PDF。

但这够了吗?因此,要打开画布,读取数据并使用签名图像本身将其附加到PDF,还是需要对PDF进行数字签名?如果这就够了,那么附加所有附加数据的位置(时间戳......)? - 我打算使用itext库。

1 个答案:

答案 0 :(得分:2)

您的问题有很多方面。最后,这一切都取决于您/您的客户对流程的要求。让我举例说明你可以做什么:

首先:数字签名和签名的手写表示之间存在差异 - 尽管您可以将两者结合起来......

解决方案I

  1. 捕获签名图像(从画布中),从中创建图像
  2. 将图像放入PDF
  3. 解决方案II

    1. 与上述相同
    2. 创建一个标准的PDF签名字段,将签名图像设置为其外观并对字段进行数字签名,从而对文档进行数字签名(您需要一个证书,但它可以是自签名的)。时间戳(以及更多信息,如位置,原因等)也可以添加,并且是签名的一部分
    3. 解决方案III

      1. 与上述相同
      2. 还收集所谓的签名生物识别数据(x,y坐标,你提到的压力(但并不总是可用)和每个坐标对的时间戳
      3. 加密生物识别数据并将其添加到签名字段(强烈过于简化)
      4. 与上面的步骤2相同(cp。解决方案II)
      5. 解决方案IV(更新)

        正如您在评论中提到的,您需要符合eIDAS标准:

          

        “我不需要对其进行数字签名,我需要的是在eIDAS下有效的基本电子签名”

        要说清楚:eIDAS是一种对PDF文档进行数字签名的方法。

        1. 与上述相同
        2. 如果您需要符合eIDAS标准的电子签名,您还需要证书。没有其他办法了。但证书可以自签名,所以它应该不是问题。其余部分与解决方案II(步骤2)相同
        3. 可能还有其他组合(例如,使用智能卡中的合格证书等),但最终只有您可以决定什么是适合您的解决方案。这取决于您的要求,您所在国家/地区的法规以及您要签署的合同的法定必需品。

          解决方案有何不同?

          第一种解决方案不提供验证签名者真实性的任何可能性,也不确保在添加签名图像后文档未被更改。解决方案II确切地提供了这一点,但是如果使用自签名证书,则无法识别签名者(任何人都可以签署该文档)。要证明这一点,您必须使用合格的证书或使用解决方案III。

          最后的评论:

          • 如果签名者应该在某个地方签名,那么在创建文档时添加空签名字段是有意义的。然后,当您在应用程序中打开时,用户可以单击他要签名的签名字段。
          • 您可以使用许多现有的解决方案来完成该用例。因此,您还必须问自己:为什么重新发明轮子?
          • 这些解决方案中的大多数也不直接在(android)客户端上签署文档,而是在中央服务器上进行实际签名。使用这种方法,您无需为每个平台重新实施解决方案(iOS,Windows Phone,台式机上的Web浏览器等)。
相关问题