类 PdfPKCS7 的 "SignName" 属性始终使用 C# 在 Itext 5.5.13.2 中返回 null



我成功地签署了pdf并且也成功地验证了pdf,但是">SignName";类PdfPKCS7属性总是返回null.

我不知道为什么?我在pdf签名过程或验证过程中遗漏了什么吗?

//res.SignName总是返回null。

validite = "Validated : " + res.SignName;

Pdf签名代码见这里:"指定的无效算法"使用文本进行pdf签名时5.5.13.2

和验证码如下。

private void Button1_Click(object sender, EventArgs e)
{
PdfReader reader;
reader = new PdfReader(pdfFilePath.Text);
try
{
AcroFields acf = reader.AcroFields();
List<string> sgnoms = acf.GetSignatureNames();
List<string> sgnoms2 = acf.GetBlankSignatureNames();
Org.BouncyCastle.X509.X509Certificate cert;
if (sgnoms.Count > 0)
{
foreach (object obj in sgnoms)
{
PdfPKCS7 res = acf.VerifySignature(obj.ToString());
string validite = "Not Validate";
DateTime cal = res.SignDate;
if (res.SigningCertificate.IsValid(DateTime.Now) && res.Verify())
//res.SignName` Always returns null          
validite = "Validated : " + res.SignName;
res = null;
validite = null;
cal = default(DateTime);                
}
}
else
throw new Exception("Document not sign!");
reader = null;
acf = null;
sgnoms = null;
sgnoms2 = null;
}
catch (Exception ex)
{
}
}

是否有其他方法来获取签名者名称?或者代码中遗漏了什么?

请查看,查看原因。在pdf签名过程中我错过了什么吗?还是我在pdf验证过程中遗漏了什么?

欢迎任何想法,工作代码和建议。

提前感谢。

SignName属性是Name的值签名字典的条目。该条目指定为:

<表类> 键 型价值tbody><<tr>名称text string(可选)签署文档的人或机构的名称。只有在无法从签名中提取名称时才应使用此值。例1来自签名者的证书。

最新更新