Sample code for 30+ languages & platforms
Perl

Example: Crypt2.GetSignedAttributes method

Demonstrates how to call the GetSignedAttributes method.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $crypt = Chilkat2::Crypt2->new;

my $bdPkcs7 = Chilkat2::BinData->new;
my $success = $bdPkcs7->LoadFile('qa_data/cades/CAdES-T/Signature-C-T-1.p7m');
if (!$success) {
    print $bdPkcs7->LastErrorText, "\n";
    exit;
}

my $json = Chilkat2::JsonObject->new;
$json->EmitCompact(0);

my $sbJson = Chilkat2::StringBuilder->new;
my $i = 0;
my $tryNext = 1;
while ($tryNext) {
    if ($crypt->GetSignedAttributes($i, $bdPkcs7, $sbJson)) {
        $json->LoadSb($sbJson);
        print $i, ": \n";
        print $json->Emit(), "\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"
#     }
#   ]
# }