PowerShell
PowerShell
Sign a Byte Array to Create an Opaque Signature in a Byte Array
See more Digital Signatures Examples
Signs data contained in a byte array to produce an opaque signature (also in a byte array). An opaque signature is a PKCS7 signature (also known as CAdES) that embeds the signed data. Also shows how to verify the signature and extract the original data.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$cert = New-Object Chilkat.Cert
$success = $cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
if ($success -eq $false) {
$($cert.LastErrorText)
exit
}
$fac = New-Object Chilkat.FileAccess
$fileBytes = $fac.ReadEntireFile("qa_data/pdf/sample.pdf")
if ($fac.LastMethodSuccess -ne $true) {
$($fac.LastErrorText)
exit
}
$crypt = New-Object Chilkat.Crypt2
$success = $crypt.SetSigningCert($cert)
# We can sign any type of file.
$sigBytes = $crypt.OpaqueSignBytes($fileBytes)
if ($crypt.LastMethodSuccess -ne $true) {
$($crypt.LastErrorText)
exit
}
$success = $fac.WriteEntireFile("qa_output/sample.pdf.p7m",$sigBytes)
if ($fac.LastMethodSuccess -ne $true) {
$($fac.LastErrorText)
exit
}
# We can verify the opaque signature and extract the original data like this
$originalData = $crypt.OpaqueVerifyBytes($sigBytes)
if ($crypt.LastMethodSuccess -ne $true) {
$($crypt.LastErrorText)
exit
}
$success = $fac.WriteEntireFile("qa_output/sample.pdf",$originalData)
if ($fac.LastMethodSuccess -ne $true) {
$($fac.LastErrorText)
exit
}
$("Signature is verified and the original data was extracted.")