Sample code for 30+ languages & platforms
PHP

Example: Crypt2.GetSignedAttributes method

Demonstrates how to call the GetSignedAttributes method.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\BinData;
use Chilkat2\Crypt2;
use Chilkat2\JsonObject;
use Chilkat2\StringBuilder;

$crypt = new Crypt2();

$bdPkcs7 = new BinData();
try {
    $bdPkcs7->LoadFile('qa_data/cades/CAdES-T/Signature-C-T-1.p7m');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

$json = new JsonObject();
$json->EmitCompact = false;

$sbJson = new StringBuilder();
$i = 0;
$tryNext = true;
while ($tryNext) {
    if ($crypt->GetSignedAttributes($i, $bdPkcs7, $sbJson)) {
        $json->LoadSb($sbJson);
        echo $i, ": \n";
        echo $json->Emit(), "\n";
    } else {
        $tryNext = false;
    }

    $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"
//     }
//   ]
// }