2011-05-13 86 views

回答

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; 
} 

非常直截了當,不是嗎?

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); 
} 

祝你好運!

+1

正如問題標題所示,OP要pkcs7對象作爲'byte []',但你的回答只是提供一個包裝。 – mkl

相關問題