DataFlex
DataFlex
Example: Crypt2.GetSignedAttributes method
Demonstrates how to call the GetSignedAttributes method.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoCrypt
Variant vBdPkcs7
Handle hoBdPkcs7
Handle hoJson
Variant vSbJson
Handle hoSbJson
Integer i
Boolean iTryNext
String sTemp1
Boolean bTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
Get Create (RefClass(cComChilkatBinData)) To hoBdPkcs7
If (Not(IsComObjectCreated(hoBdPkcs7))) Begin
Send CreateComObject of hoBdPkcs7
End
Get ComLoadFile Of hoBdPkcs7 "qa_data/cades/CAdES-T/Signature-C-T-1.p7m" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoBdPkcs7 To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
If (Not(IsComObjectCreated(hoSbJson))) Begin
Send CreateComObject of hoSbJson
End
Move 0 To i
Move True To iTryNext
While iTryNext
Get ComGetSignedAttributes Of hoCrypt i Get pvComObject of hoBdPkcs7 to vBdPkcs7
vBdPkcs7 Get pvComObject of hoSbJson to vSbJson
vSbJson To bTemp1
If (bTemp1 = True) Begin
Get pvComObject of hoSbJson to vSbJson
Get ComLoadSb Of hoJson vSbJson To iSuccess
Showln i ": "
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
End
Else Begin
Move False To iTryNext
End
Move (i + 1) To i
Loop
// 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"
// }
// ]
// }
End_Procedure