Sample code for 30+ languages & platforms
Perl

Example: Crypt2.GetSignedAttributes method

Demonstrates how to call the GetSignedAttributes method.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$crypt = chilkat::CkCrypt2->new();

$bdPkcs7 = chilkat::CkBinData->new();
$success = $bdPkcs7->LoadFile("qa_data/cades/CAdES-T/Signature-C-T-1.p7m");
if ($success == 0) {
    print $bdPkcs7->lastErrorText() . "\r\n";
    exit;
}

$json = chilkat::CkJsonObject->new();
$json->put_EmitCompact(0);

$sbJson = chilkat::CkStringBuilder->new();
$i = 0;
$tryNext = 1;
while ($tryNext) {
    if ($crypt->GetSignedAttributes($i,$bdPkcs7,$sbJson) == 1) {
        $json->LoadSb($sbJson);
        print $i . ": " . "\r\n";
        print $json->emit() . "\r\n";
    }
    else {
        $tryNext = 0;
    }

    $i = $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"
#     }
#   ]
# }