2017-12-13 75 views
2

PDFファイルに電子署名があるかどうかを確認する方法はありますか? 無料のライブラリやコードはすべて問題ありません。署名を確認せずにPDFファイルにc#で電子署名があるかどうかを確認

+2

どのような署名形式を使用しますか? CMS/CAdESを使用すると、最初のバイトを調べて、それがASN.1であるかどうかを確認できます。 XMLDsigでは、デジタル署名のXSDが含まれているかどうかを確認できます。 PDFでは、署名の予約バイトに行く必要があります。大きなファイルの場合は、切り離された署名ファイルを使用することをお勧めします – pedrofb

+0

確かに、質問は現時点では広すぎます。あなたは、特定の場所に署名付きの独自のファイル形式を持つことさえできます。データの塊に署名(ファイル形式固有のもの)が含まれているかどうかは、一般的な意味はありません。 –

+0

はい、質問が広すぎると私は編集しました。 –

答えて

0

Free Spire.PDFライブラリは、PDFファイルがそれを検証せずにデジタル署名を持っているかどうかをチェックする機能を提供します。 NuGet Package ManagerからSpire.PDF dllを無料で入手し、次のコードを参照することができます。

//Load PDF file 
PdfDocument pdf = new PdfDocument(); 
pdf.LoadFromFile("Input.pdf"); 

//Gets the loaded form in the PDF file 
PdfFormWidget form = pdf.Form as PdfFormWidget; 

//Determine if there is any signature field among the form fields and whether it contains digital signature 
for (int i = 0; i < form.FieldsWidget.Count; i++) 
{ 
    var field = form.FieldsWidget[i] as PdfSignatureFieldWidget; 
    if (field != null && field.Signature != null) 
    { 
     Console.WriteLine("This form field has digital signature!"); 
    } 
} 

注:私はSpireの従業員です。

関連する問題