Sample code for 30+ languages & platforms
Go 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 Go Downloads

Go
    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 := chilkat.NewCodeSign()

    //  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 {
        fmt.Println(codeSign.LastErrorText())
        codeSign.DisposeCodeSign()
        return
    }

    fmt.Println("The signature was removed.")

    //  The file is now unsigned, so VerifySignature returns false.
    sigInfo := chilkat.NewJsonObject()
    valid := codeSign.VerifySignature(path,sigInfo)
    fmt.Println("has a valid signature: ", valid)

    codeSign.DisposeCodeSign()
    sigInfo.DisposeJsonObject()