如何使用Python对PDF文档进行数字签名?我有一个令牌(在笔式驱动器中).
此外,我使用openpyxl创建了一个excel文件,并将其转换为PDF.现在有一个要求,我需要向该PDF文档添加数字签名.
有什么办法可以在python中实现吗?
解决方法:
使用为此任务设计的python模块,它对PDF-s进行数字签名.
您应该拥有的所有内容都是带有证书的p12 / pfx文件.
#!/usr/bin/env python3
# *-* coding: utf-8 *-*
from oscrypto import asymmetric
from endesive import pdf
def main():
dct = {
b'sigflags': 3,
b'contact': b'me@email.com',
b'location': b'City',
b'signingdate': b'20180731082642+02\'00\'',
b'reason': b'Some descriptive message',
}
p12 = asymmetric.load_pkcs12(
open('demo2_user1.p12', 'rb').read(),
'1234'
)
datau = open('pdf.pdf', 'rb').read()
datas = pdf.cms.sign(datau, dct, p12[0], p12[1], [], 'sha256')
with open('pdf-signed-cms.pdf', 'wb') as fp:
fp.write(datau)
fp.write(datas)
main()
标签:digital-signature,pypdf2,python