AutoIt
AutoIt
Sign a Byte Array to Create a Detached Signature in a Byte Array
See more Digital Signatures Examples
Signs data contained in a byte array to produce a detached signature (also in a byte array). Also shows how to verify the signature.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
If ($bSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
$oFac = ObjCreate("Chilkat.FileAccess")
Local $oFileBytes
$oFileBytes = $oFac.ReadEntireFile("qa_data/pdf/sample.pdf")
If ($oFac.LastMethodSuccess <> True) Then
ConsoleWrite($oFac.LastErrorText & @CRLF)
Exit
EndIf
$oCrypt = ObjCreate("Chilkat.Crypt2")
$bSuccess = $oCrypt.SetSigningCert($oCert)
; We can sign any type of file.
; The result is a detached signature (a signature that does not contain the data being signed).
Local $oSigBytes
$oSigBytes = $oCrypt.SignBytes($oFileBytes)
If ($oCrypt.LastMethodSuccess <> True) Then
ConsoleWrite($oCrypt.LastErrorText & @CRLF)
Exit
EndIf
$bSuccess = $oFac.WriteEntireFile("qa_output/sample.pdf.p7s",$oSigBytes)
If ($oFac.LastMethodSuccess <> True) Then
ConsoleWrite($oFac.LastErrorText & @CRLF)
Exit
EndIf
; We can verify the detached signature like this
Local $bVerified = $oCrypt.VerifyBytes($oFileBytes,$oSigBytes)
If ($oCrypt.LastMethodSuccess <> True) Then
ConsoleWrite($oCrypt.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Verified = " & $bVerified & @CRLF)