Sample code for 30+ languages & platforms
AutoIt

Sign a File to Create a .p7s (Detached Signature)

See more Encryption Examples

_LANGUAGE_ example to create a detached signature file (.p7s) for any type file. The signature can be verified by calling VerifyP7S and passing the original filename and the .p7s filename.

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 .p7s as output:
Local $sInFile = "/Users/chilkat/testData/pdf/sample.pdf"
Local $sigFile = "/Users/chilkat/testData/p7s/sample.p7s"

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

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

ConsoleWrite("Success!" & @CRLF)