AutoIt
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
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)