CkPhp Requires Chilkat v11.7.0+
CkPhp
Remove the Authenticode Signature from an MSI, PowerShell, or VBScript File
See more Code Signing Examples
Demonstrates how to remove the Authenticode signature from a Windows Installer package (.msi), a PowerShell file (.ps1, .psm1, .psd1), or a VBScript file (.vbs). Removing the signature from these file types requires Chilkat v11.7.0 or later.Chilkat CkPhp Downloads
<?php
include("chilkat.php");
$success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Starting in Chilkat v11.7.0, RemoveSignature can remove the Authenticode signature from
// - Windows Installer packages (.msi)
// - PowerShell scripts, modules, and data files (.ps1, .psm1, .psd1)
// - VBScript files (.vbs)
// in addition to EXE and DLL files.
// This example removes the signature from a signed PowerShell script.
// To remove the signature from an .msi or a .vbs, pass the path of that file instead.
$path = 'C:/someDir/Deploy.ps1';
$codeSign = new CkCodeSign();
// The file is modified in place. Keep a copy if the signed file is still needed.
//
// For a PowerShell or VBScript file, the signature comment block is removed from the end of the file.
// For an MSI, the digital signature stream and the extended signature stream (MsiDigitalSignatureEx)
// are removed from the package.
$success = $codeSign->RemoveSignature($path);
if ($success == false) {
print $codeSign->lastErrorText() . "\n";
exit;
}
print 'The signature was removed.' . "\n";
// The file is now unsigned, so VerifySignature returns false.
$sigInfo = new CkJsonObject();
$valid = $codeSign->VerifySignature($path,$sigInfo);
print 'has a valid signature: ' . $valid . "\n";
?>