디지털 서명은 PDF 문서를 제3자와 공유하기 전에 보안을 유지하는 데 사용됩니다. PDF 문서에 디지털 서명을 하면 디지털 서명을 사용하여 문서를 확인하여 변조를 감지할 수 있습니다. 디지털 서명을 사용하여 프로그래밍 방식으로 PDF 문서를 보호하기 위해 이 문서에서는 C#의 PDF 파일에 디지털 서명을 추가하는 방법을 보여줍니다. C#에서 PDF 파일의 디지털 서명을 확인하는 방법도 배우게 됩니다.
- PDF 디지털 서명을 위한 C# API
- C#을 사용하여 PDF 문서에 디지털 서명 추가
- C#의 타임스탬프 서버를 사용하여 PDF 문서에 디지털 서명
- C#을 사용하여 PDF의 디지털 서명 확인
PDF에 디지털 서명을 추가하는 C# .NET API
PDF 문서에 디지털 서명을 추가하고 확인하기 위해 PDF 문서를 생성, 편집, 변환 및 디지털 서명하기 위한 강력한 PDF 조작 API인 Aspose.PDF for .NET API를 사용합니다. .NET용 Aspose.PDF를 다운로드하거나 Visual Studio에서 다음 방법 중 하나를 사용하여 설치할 수 있습니다.
NuGet 패키지 관리자
패키지 관리자 콘솔
PM> Install-Package Aspose.PDF
C#에서 PDF에 디지털 서명 추가
다음은 .NET용 Aspose.PDF를 사용하여 PDF 문서에 서명하는 단계입니다.
- Document 클래스의 객체를 생성하고 PDF 문서의 경로로 초기화합니다.
- PdfFileSignature 클래스의 객체를 생성하고 Document 클래스의 객체로 초기화합니다.
- PKCS7 클래스의 객체를 생성하고 인증서 경로와 비밀번호로 초기화합니다.
- MDP 서명 유형에 대한 DocMDPSignature 클래스의 개체를 생성하고 초기화합니다.
- 서명 배치를 위해 사각형을 만듭니다.
- PdfFileSignature.Certify() 메서드를 사용하여 PDF 문서에 디지털 서명합니다.
- PdfFileSignature.Save() 메서드를 사용하여 문서를 저장합니다.
다음 코드 샘플은 C#에서 PDF 문서에 디지털 서명을 추가하는 방법을 보여줍니다.
// PDF 문서 로드
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// 서명 모양 설정
signature.SignatureAppearance = @"aspose-logo.png";
// 세 가지 서명 유형 중 하나 만들기
signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// 디지털 서명된 PDF 파일 저장
signature.Save("Digitally Signed PDF.pdf");
}
}
C# 타임스탬프 서버를 사용하여 PDF에 디지털 서명 추가
TimestampSettings 클래스를 사용하여 세부 정보를 제공하여 TimeStamp 서버에서 PDF 문서에 디지털 서명을 추가할 수도 있습니다. 다음 코드 샘플은 C#에서 TimeStamp 서버를 사용하여 PDF 문서에 디지털 서명하는 방법을 보여줍니다.
// PDF 문서 로드
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.TimestampSettings = timestampSettings;
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// 세 가지 서명 유형 중 하나 만들기
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// 출력 PDF 파일 저장
signature.Save("Output.pdf");
}
}
C#에서 디지털 서명된 PDF 확인
다음은 PDF 문서에서 디지털 서명을 확인하는 단계입니다.
- Document 클래스의 객체를 생성하고 PDF 문서의 경로로 초기화합니다.
- PdfFileSignature 클래스의 객체를 생성하고 Document 클래스의 객체로 초기화합니다.
- PDF 문서의 모든 서명에 액세스합니다.
- PdfFileSignature.VerifySigned() 메서드를 사용하여 서명의 유효성을 확인합니다.
다음 코드 샘플은 C#을 사용하여 PDF의 디지털 서명을 확인하는 방법을 보여줍니다.
// PDF 문서 로드
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
IList<string> sigNames = signature.GetSignNames();
if (sigNames.Count > 0) // Any signatures?
{
if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
{
if (signature.IsCertified) // Certified?
{
if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
{
// 뭔가 해
}
}
}
}
}
}
.NET용 Aspose.PDF를 무료로 사용해 보세요.
.NET용 Aspose.PDF를 사용하려면 무료 임시 라이센스를 얻을 수 있습니다.
결론
이 문서에서는 C#.NET에서 PDF 파일에 디지털 서명을 추가하는 방법을 배웠습니다. 또한 C#에서 프로그래밍 방식으로 디지털 서명된 PDF 파일을 확인하는 방법을 살펴보았습니다. 응용 프로그램에 Aspose.PDF for .NET을 설치하고 PDF 파일에 원활하게 디지털 서명할 수 있습니다.