PDF文件中的数字签名之(在一个PDF文件的签名代表)

原文地址:https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSig/Acrobat_DigitalSignatures_in_PDF.pdf

本文是自己无聊时候翻译的,如果有错误,请指出。

本文档介绍了如何在一个PDF文档的数字签名和什么代表签名的相关特征的PDF语言支持。Adobe阅读器和Acrobat®有®®

实现了所有PDF的特点,从而为认证的全面支持基于公共密钥基础设施(PKI)技术的数字数据。第三方开发者可以定义在一个Acrobat插件签名处理形成自己的机制。
数字签名可以用于许多类型的文件,传统的笔和墨水签名过去用过。然而,仅仅存在一个数字签名是不足够的保证一个文件似乎是。此外,政府和企业的设置往往需要

对他们的签名工作流程施加额外的限制,例如限制用户选择和文件的行为和签署后。由于这些原因,PDF语言提供任务两大类机制:

    充分信任的电子文档通过启用验证签署的文件没有
被改变,它是由某人签署的收件人信托。
创建和控制功能丰富、安全的数字签名的工作流程。
不论PDF查看应用程序,PDF语言支持以下:
标准支持
支持备用的签名方法
支持两个签名类型
签名的互操作性
鲁棒算法支持
多重签名
增量更新
查看此前签署的文件版本
比较当前和签署的文件版本
锁定表单字段
控制后签署的变化
法律内容认证
启用的功能通过基于文档的权限
丰富的凭证处理
控制签名工作流通过种子VA

6.1在一个PDF文件签名代表
在一个PDF,签名信息包含在签名词典。字典中的对象是
通过PDF参考定义。签名字典可以引用,也可以引用其他
字典,通常是(图1)。在这些字典中的条目确定的性质和
签名的特点,并推而广之,什么样的数据可以提供给任何设计PDF查看器
处理签名数据。
而其他的观众可能会在他们的PDF语言功能的支持有所不同,产品的杂技演员的家庭
支持所有这些功能。在一个高的水平,这些功能可以分为这些类别:
添加数字签名文件。
检查签名的有效性。
权限和限制,控制签名工作流。
当然,PDF格式,包括与这些活动相关的但不必要的特征。对于
例如,支持添加签名的原因是切向签署,但有价值的许多工作流程

图1:


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在PDF文件添加签名图片和日期,可以使用 pypdf2 库的以下步骤: 1. 打开原始 PDF 文件并创建一个新的 PDF 文件对象。 2. 从原始 PDF 文件获取需要签名的页面并将其添加到新的 PDF 文件对象。 3. 使用 Pillow 库的 Image 模块打开签名图片文件。 4. 将签名图片文件添加到新的 PDF 文件对象的需要签名的位置。 5. 使用 datetime 模块获取当前日期时间。 6. 将当前日期时间添加到新的 PDF 文件对象的需要签名的位置。 7. 保存新的 PDF 文件对象并关闭原始 PDF 文件对象。 这是一个示例代码,可以根据自己的需求进行修改: ```python from datetime import datetime from PyPDF2 import PdfFileReader, PdfFileWriter from PIL import Image # 打开原始 PDF 文件和创建新的 PDF 文件对象 with open('original.pdf', 'rb') as file: pdf_reader = PdfFileReader(file) pdf_writer = PdfFileWriter() # 获取需要签名的页面并将其添加到新的 PDF 文件对象 page = pdf_reader.getPage(0) pdf_writer.addPage(page) # 打开签名图片文件并将其添加到新的 PDF 文件对象的需要签名的位置 signature = Image.open('signature.png') signature_page = pdf_writer.getPage(0) signature_page.mergeScaledTranslatedPage(signature_page, signature.width, signature.height, -50, 50) # 将当前日期时间添加到新的 PDF 文件对象的需要签名的位置 date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") signature_page.addText(date, 50, 50) # 保存新的 PDF 文件对象并关闭原始 PDF 文件对象 with open('signed.pdf', 'wb') as output: pdf_writer.write(output) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值