如何使用IText或BouncyCastle从pdf签名文件中提取编码的PKCS7包,以便我可以在另一个框架中存储或验证? 实际上,我怎样才能从pdf签名文件中获得PKCS7编码的包呢?
答案 0 :(得分:1)
我的一位朋友帮助我得到答案。
public static byte[] ExtractPKCS7From(string path)
{
AcroFields acroFields = new PdfReader(path).AcroFields;
List<string> names = acroFields.GetSignatureNames();
foreach(var name in names)
{
PdfDictionary dict = acroFields.GetSignatureDictionary(name);
PdfString contents =
(PdfString)PdfReader.GetPdfObject(dict.Get(PdfName.CONTENTS));
return contents.GetOriginalBytes();
}
return null;
}
非常直接,不是吗?
答案 1 :(得分:0)
Java代码,用pkcs7对象做任何你想做的事! :)
PdfReader r = new PdfReader(fOs);
AcroFields af = r.getAcroFields();
ArrayList<String> listNames = af.getSignatureNames();
for(String x : listNames){
PdfPKCS7 pkcs7 = af.verifySignature(signature);
}
祝你好运!