2017-12-13 26 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의 직원입니다.