Chilkat2-Python
Chilkat2-Python
Sign a Byte Array to Create an Opaque Signature in a Byte Array
See more Digital Signatures Examples
Signs data contained in a byte array to produce an opaque signature (also in a byte array). An opaque signature is a PKCS7 signature (also known as CAdES) that embeds the signed data. Also shows how to verify the signature and extract the original data.Chilkat Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
cert = chilkat2.Cert()
success = cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
if (success == False):
print(cert.LastErrorText)
sys.exit()
fac = chilkat2.FileAccess()
# fileBytes is a memoryview
fileBytes = fac.ReadEntireFile("qa_data/pdf/sample.pdf")
if (fac.LastMethodSuccess != True):
print(fac.LastErrorText)
sys.exit()
crypt = chilkat2.Crypt2()
success = crypt.SetSigningCert(cert)
# We can sign any type of file.
# sigBytes is a memoryview
sigBytes = crypt.OpaqueSignBytes(fileBytes)
if (crypt.LastMethodSuccess != True):
print(crypt.LastErrorText)
sys.exit()
success = fac.WriteEntireFile("qa_output/sample.pdf.p7m",sigBytes)
if (fac.LastMethodSuccess != True):
print(fac.LastErrorText)
sys.exit()
# We can verify the opaque signature and extract the original data like this
# originalData is a memoryview
originalData = crypt.OpaqueVerifyBytes(sigBytes)
if (crypt.LastMethodSuccess != True):
print(crypt.LastErrorText)
sys.exit()
success = fac.WriteEntireFile("qa_output/sample.pdf",originalData)
if (fac.LastMethodSuccess != True):
print(fac.LastErrorText)
sys.exit()
print("Signature is verified and the original data was extracted.")