Sample code for 30+ languages & platforms
Python Requires Chilkat v11.7.0+

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 Python Downloads

Python
import sys
import chilkat2

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 = chilkat2.CodeSign()

# 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)
    sys.exit()

print("The signature was removed.")

# The file is now unsigned, so VerifySignature returns false.
sigInfo = chilkat2.JsonObject()
valid = codeSign.VerifySignature(path,sigInfo)
print("has a valid signature: " + str(valid))