[英]How do I digitally sign a pdf into a separate file on C#?
如何將 pdf 數字簽名到 C# 上的單獨文件中? 我已經使用 iText lib 編寫代碼,但這是內部數字簽名。 我想要單獨的 hash 文件中的數字簽名。 以便您稍后可以檢查此數字簽名。 output like: 1. output.pdf 2. output.pdf.sig This is possible? iText 可以做到這一點嗎?
以下演示代碼可能會幫助您入門:
static void Main(string[] args)
{
var fileName = args[0];
// create signature
DSACryptoServiceProvider signer = new DSACryptoServiceProvider();
var bytes = ReadBytes(fileName);
var signature = signer.SignData(bytes);
var publicKey = signer.ToXmlString(false);
// we could write this signature to a separate file
Console.WriteLine("Digital signature: " + Convert.ToBase64String(signature));
// verify signature
DSACryptoServiceProvider verifier = new DSACryptoServiceProvider();
verifier.FromXmlString(publicKey);
if (verifier.VerifyData(bytes, signature))
Console.WriteLine("Signature OK");
else
Console.WriteLine("Signature not OK");
}
static byte[] ReadBytes(string fileName)
{
using (var file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
using (var reader = new BinaryReader(file))
{
return reader.ReadBytes((int)file.Length);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.