(Tcl) Example: Crypt2.GetSignedAttributes method
Demonstrates how to call the GetSignedAttributes method.
load ./chilkat.dll
set crypt [new_CkCrypt2]
set bdPkcs7 [new_CkBinData]
set success [CkBinData_LoadFile $bdPkcs7 "qa_data/cades/CAdES-T/Signature-C-T-1.p7m"]
if {$success == 0} then {
puts [CkBinData_lastErrorText $bdPkcs7]
delete_CkCrypt2 $crypt
delete_CkBinData $bdPkcs7
exit
}
set json [new_CkJsonObject]
CkJsonObject_put_EmitCompact $json 0
set sbJson [new_CkStringBuilder]
set i 0
set tryNext 1
while {$tryNext} {
if {[CkCrypt2_GetSignedAttributes $crypt $i $bdPkcs7 $sbJson] == 1} then {
CkJsonObject_LoadSb $json $sbJson
puts "$i: "
puts [CkJsonObject_emit $json]
} else {
set tryNext 0
}
set i [expr $i + 1]
}
# Sample output:
# 0:
# {
# "signedAttributes": [
# {
# "oid": "1.2.840.113549.1.9.3",
# "name": "Content Type"
# },
# {
# "oid": "1.2.840.113549.1.9.5",
# "name": "Signing Time"
# },
# {
# "oid": "1.2.840.113549.1.9.4",
# "name": "Message Digest"
# },
# {
# "oid": "1.2.840.113549.1.9.16.2.47",
# "name": "Signing Certificate V2"
# }
# ]
# }
delete_CkCrypt2 $crypt
delete_CkBinData $bdPkcs7
delete_CkJsonObject $json
delete_CkStringBuilder $sbJson
|