- Create and Verify Digital Signatures using .NET Digital Signature Library
- .NET Digital Signature Library Code Samples
- Download .NET Digital Signature Library with all samples
#How to run the PowerShell scripts
#SignLib.dll must be placed on a folder and the path must be added on the .ps1 script
#$DllPath = 'd:\SignLib.dll'
#[System.Reflection.Assembly]::LoadFrom($DllPath)
#run the script file from command line, as below:
#powershell -executionPolicy bypass -file signpdf.ps1 "d:\test.pdf" "d:\test[signed].pdf"
if ($args.Length -eq 0)
{
echo "Usage: signpdf.ps1 <unsigned file> <signed file>"
}
else
{
$DllPath = 'd:\SignLib.dll'
[System.Reflection.Assembly]::LoadFrom($DllPath)
#digitally sign the pdf file
$sign = new-object -typeName SignLib.Pdf.PdfSignature("")
$sign.LoadPdfDocument([System.IO.File]::ReadAllBytes($args[0]))
$pfxFilePath = "d:\pfxcertificate.pfx"
$pFXFilePassword = "123456"
[SignLib.Certificates.DigitalCertificate]::LoadCertificate($pfxFilePath, $pFXFilePassword)
#Load the certificate from Microsoft Certificate Store (smart card certificates).
#$sign.DigitalSignatureCertificate = [SignLib.Certificates.DigitalCertificate]::LoadCertificate($false, "","","");
$sign.SigningReason = "I approve this document"
$sign.SigningLocation = "Europe branch"
$sign.SignaturePage = 1
$sign.SignaturePosition = [SignLib.Pdf.SignaturePosition]::TopRight
echo "Perform the digital signature..."
[System.IO.File]::WriteAllBytes($args[1], $sign.ApplyDigitalSignature())
}
See also: