Sample code for 30+ languages & platforms
AutoIt

Sign a File to Create a .p7m File (using a PFX)

See more Encryption Examples

_LANGUAGE_ example to sign a file creating a .p7m file as output. The .p7m contains the signed contents of the original file. It can be verified and restored by calling VerifyP7M.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oCrypt = ObjCreate("Chilkat.Crypt2")

; Use a digital certificate and private key from a PFX file (.pfx or .p12).
Local $signingCertSubject = "Acme Inc"
Local $sPfxFilename = "/Users/chilkat/testData/pfx/acme.pfx"
Local $sPfxPassword = "test123"

$oCertStore = ObjCreate("Chilkat.CertStore")
$bSuccess = $oCertStore.LoadPfxFile($sPfxFilename,$sPfxPassword)
If ($bSuccess <> True) Then
    ConsoleWrite($oCertStore.LastErrorText & @CRLF)
    Exit
EndIf

$oJsonCN = ObjCreate("Chilkat.JsonObject")
$oJsonCN.UpdateString("CN",$signingCertSubject)

$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCertStore.FindCert($oJsonCN,$oCert)
If ($bSuccess = False) Then
    ConsoleWrite("Failed to find certificate by subject common name." & @CRLF)
    Exit
EndIf

; Tell the crypt component to use this cert.
$bSuccess = $oCrypt.SetSigningCert($oCert)

; We can sign any type of file, creating a .p7m as output:
Local $sInFile = "/Users/chilkat/testData/pdf/sample.pdf"
Local $sOutputFile = "/Users/chilkat/testData/p7m/sample.pdf.p7m"
$bSuccess = $oCrypt.CreateP7M($sInFile,$sOutputFile)
If ($bSuccess = False) Then
    ConsoleWrite($oCrypt.LastErrorText & @CRLF)
    Exit
EndIf

; Verify and restore the original file:
$bSuccess = $oCrypt.SetVerifyCert($oCert)

$sInFile = $sOutputFile
$sOutputFile = "/Users/chilkat/testData/pdf/restored.pdf"

$bSuccess = $oCrypt.VerifyP7M($sInFile,$sOutputFile)
If ($bSuccess = False) Then
    ConsoleWrite($oCrypt.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Success!" & @CRLF)