Sample code for 30+ languages & platforms
PHP Extension Requires Chilkat v11.0.0+

Workaround for the deprecated Crypt2.OpaqueSignBytes method

Shows how to replace the deprecated OpaqueSignBytes method. (Chilkat is moving away from the use of CkByteData.)

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

$crypt = new CkCrypt2();

$cert = new CkCert();
//  ...
//  Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
//  
$success = $crypt->SetSigningCert($cert);

//  ...
//  ...
//  ...

$path = 'c:/someDir/example.dat';

//  ------------------------------------------------------------------------
//  The OpaqueSignBytes method is deprecated:

$inData = new CkByteData();
$inData->loadFile($path);

$outData = new CkByteData();

$success = $crypt->OpaqueSignBytes($inData,$outData);

//  ------------------------------------------------------------------------
//  Workaround.
//  (Chilkat is moving away from using CkByteData)

$bd = new CkBinData();
$bd->LoadFile($path);

//  If successful, the contents of bd are replaced with the PKCS#7 signed-data.
$success = $crypt->OpaqueSignBd($bd);

?>