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