Tcl
Tcl
CAdES BES Detached Signature
See more Encryption Examples
Demonstrates how to create a CAdES BES detached signature file (.p7s).Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set crypt [new_CkCrypt2]
# Use a digital certificate and private key from a PFX file (.pfx or .p12).
set pfxPath "/Users/chilkat/testData/pfx/acme.pfx"
set pfxPassword "test123"
set cert [new_CkCert]
set success [CkCert_LoadPfxFile $cert $pfxPath $pfxPassword]
if {$success != 1} then {
puts [CkCert_lastErrorText $cert]
delete_CkCrypt2 $crypt
delete_CkCert $cert
exit
}
# Tell the crypt component to use this cert.
set success [CkCrypt2_SetSigningCert $crypt $cert]
if {$success != 1} then {
puts [CkCrypt2_lastErrorText $crypt]
delete_CkCrypt2 $crypt
delete_CkCert $cert
exit
}
# The CadesEnabled property applies to all methods that create PKCS7 signatures.
# To create a CAdES-BES signature, set this property equal to true.
CkCrypt2_put_CadesEnabled $crypt 1
# We can sign any type of file, creating a .p7s as output:
set inFile "/Users/chilkat/testData/pdf/sample.pdf"
set sigFile "/Users/chilkat/testData/p7s/sample.p7s"
# Create the detached CAdES-BES signature:
set success [CkCrypt2_CreateP7S $crypt $inFile $sigFile]
if {$success == 0} then {
puts [CkCrypt2_lastErrorText $crypt]
delete_CkCrypt2 $crypt
delete_CkCert $cert
exit
}
set success [CkCrypt2_VerifyP7S $crypt $inFile $sigFile]
if {$success == 0} then {
puts [CkCrypt2_lastErrorText $crypt]
delete_CkCrypt2 $crypt
delete_CkCert $cert
exit
}
puts "Success!"
delete_CkCrypt2 $crypt
delete_CkCert $cert