GroupDocs.Signature for .NET을 사용하여 타임스탬프 및 인증서가 포함된 .NET 디지털 서명을 구현하는 방법

소개

.NET에서 디지털 서명을 사용하여 PDF 문서의 보안을 강화하고 싶으신가요? GroupDocs.Signature for .NET을 사용하면 진위성, 무결성 및 부인 방지를 더욱 쉽게 보장할 수 있습니다. 신뢰할 수 있는 타사 사이트의 타임스탬프를 추가하거나 법적 준수를 위해 문서를 인증해야 하는 경우, 이 강력한 라이브러리가 프로세스를 간소화해 줍니다.

이 튜토리얼에서는 GroupDocs.Signature for .NET을 사용하여 PDF 파일에 디지털 서명을 하고 서명에 타임스탬프를 적용하는 방법을 안내합니다. 또한 디지털 서명을 사용하여 이러한 문서를 인증하는 방법도 다룹니다. 이 가이드를 마치면 애플리케이션에서 이러한 기능을 구현하는 방법을 포괄적으로 이해하게 될 것입니다.

배울 내용:

  • .NET용 GroupDocs.Signature 설정
  • 타임스탬프를 사용한 디지털 서명 구현
  • PDF 문서를 디지털로 인증
  • 성능 최적화 및 모범 사례

시작하기 위한 전제 조건을 살펴보겠습니다!

필수 조건

시작하기에 앞서 다음 사항이 있는지 확인하세요.

  1. 필수 라이브러리 및 종속성

    • .NET용 GroupDocs.Signature: 이 라이브러리는 애플리케이션에서 디지털 서명을 구현하는 데 필수적입니다.
    • .NET Framework(4.7.2 이상) 또는 .NET Core 3.0+
  2. 환경 설정 요구 사항

    • C# 프로젝트를 만들고 실행할 수 있는 Visual Studio와 같은 개발 환경.
  3. 지식 전제 조건

    • C# 프로그래밍에 대한 기본적인 이해.
    • .NET 애플리케이션에서 파일 경로와 I/O 작업을 처리하는 데 익숙합니다.

.NET용 GroupDocs.Signature 설정

프로젝트에 GroupDocs.Signature를 통합하려면 다음 단계를 따르세요.

.NET CLI 사용:

dotnet add package GroupDocs.Signature

패키지 관리자 콘솔:

Install-Package GroupDocs.Signature

NuGet 패키지 관리자 UI: NuGet 패키지 관리자에서 “GroupDocs.Signature"를 검색하여 최신 버전을 설치하세요.

라이센스 취득

  • 무료 체험: GroupDocs.Signature의 기능을 알아보려면 무료 체험판을 시작하세요.
  • 임시 면허: 제한 없이 기능을 평가할 수 있는 임시 라이선스를 얻으세요.
  • 구입: 장기 사용을 위해서는 정식 라이선스를 구매하세요.

환경을 설정한 후 라이브러리를 초기화하고 구성하여 문서 서명을 시작하세요.

구현 가이드

디지털 서명에 타임스탬프를 추가하는 것과 PDF 문서 인증이라는 두 가지 주요 기능을 살펴보겠습니다. 각 섹션에서는 코드 조각과 설명을 통해 단계별로 안내해 드립니다.

타임스탬프가 포함된 디지털 서명

이 기능을 사용하면 신뢰할 수 있는 제3자 타임스탬프 서버를 사용하여 서명의 유효성을 시간 경과에 따라 보장하면서 PDF에 디지털로 서명할 수 있습니다.

1단계: Signature 객체 초기화

먼저 인스턴스를 생성합니다. Signature 문서 경로를 제공하여 클래스를 만듭니다.

string filePath = "@YOUR_DOCUMENT_DIRECTORY/sample.pdf";
using (Signature signature = new Signature(filePath))
{
    // 여기에 추가 단계가 추가됩니다.
}

2단계: PdfDigitalSignature 구성

생성하고 설정하세요 PdfDigitalSignature 연락처 정보, 위치, 서명 이유 등 필수 세부 정보가 포함된 객체:

PdfDigitalSignature pdfDigitalSignature = new PdfDigitalSignature()
{
    ContactInfo = "Contact",
    Location = "Location",
    Reason = "Reason"
};

3단계: 타임스탬프 세부 정보 설정

이 경우 타사 서버에 대한 URL을 지정하여 타임스탬프를 구성합니다. freetsa.org:

pdfDigitalTimestamp = new TimeStamp("https://freetsa.org/tsr", "", "");
pdfDigitalSignature.TimeStamp = pdfDigitalTimestamp;

4단계: 디지털 서명 옵션 구성

디지털 인증서 경로와 비밀번호를 지정하고 서명 정렬 기본 설정을 지정하여 서명 옵션을 설정합니다.

digitalSignOptions = new DigitalSignOptions(certificatePath)
{
    Password = "1234567890",
    Signature = pdfDigitalSignature,
    VerticalAlignment = VerticalAlignment.Bottom,
    HorizontalAlignment = HorizontalAlignment.Right
};

5단계: 문서에 서명하고 결과 얻기

서명 프로세스를 실행하고, 서명된 문서를 지정된 경로에 저장하고, 결과를 인쇄합니다.

SignResult signResult = signature.Sign(outputFilePathSigned, digitalSignOptions);
Console.WriteLine($"
Source document signed successfully with {signResult.Succeeded.Count} signature(s).
File saved at {outputFilePathSigned}.
");

디지털 서명 인증

PDF 인증은 해당 문서가 특정 진위성 및 보안 기준을 충족함을 보장합니다. 이 과정은 법률 및 규정 준수 목적에 매우 중요합니다.

1단계: Signature 객체 초기화

타임스탬프 기능과 유사하게 초기화부터 시작하세요. Signature 수업:

string filePath = "@YOUR_DOCUMENT_DIRECTORY/sample.pdf";
using (Signature signature = new Signature(filePath))
{
    // 여기에 추가 단계가 추가됩니다.
}

2단계: 인증을 위한 PdfDigitalSignature 구성

생성하다 PdfDigitalSignature 개체, 세부 정보 지정 및 유형을 인증서로 설정:

PdfDigitalSignature pdfDigitalSignature = new PdfDigitalSignature()
{
    ContactInfo = "Contact",
    Location = "Location",
    Reason = "Reason"
};

pdfDigitalSignature.Type = PdfDigitalSignatureType.Certificate;

3단계: 디지털 서명 옵션 구성

타임스탬프를 추가하는 것과 유사하게 서명 옵션을 설정합니다.

digitalSignOptions = new DigitalSignOptions(certificatePath)
{
    Password = "1234567890",
    Signature = pdfDigitalSignature,
    VerticalAlignment = VerticalAlignment.Bottom,
    HorizontalAlignment = HorizontalAlignment.Right
};

4단계: 문서에 서명하고 결과 얻기

인증 프로세스를 실행하고, 인증된 문서를 저장하고, 결과를 인쇄합니다.

SignResult signResult = signature.Sign(outputFilePathCertified, digitalSignOptions);
Console.WriteLine($"
Source document signed successfully with {signResult.Succeeded.Count} signature(s).
File saved at {outputFilePathCertified}.
");

실제 응용 프로그램

  • 법률 문서: 시간이 지나도 계약과 합의가 성실하게 유지되도록 하세요.
  • 재무 보고서: 정확성과 규정 준수를 위해 재무제표를 인증합니다.
  • 교육 자격증: 완료 증명서나 수상 증명서를 인증합니다.
  • 전자상거래: 구매 주문서와 영수증을 안전하게 보관하세요.
  • 정부 양식: 공공기관에 제출된 양식을 검증합니다.

성능 고려 사항

GroupDocs.Signature를 사용할 때 성능을 최적화하려면:

  • 리소스 사용: 특히 대용량 문서를 처리할 때 메모리 사용량을 모니터링합니다.
  • 일괄 처리: 여러 파일에 서명하는 경우 효율성을 위해 일괄 처리를 고려하세요.
  • 비동기 작업: 비동기 메서드를 사용하면 작업 차단을 방지하고 애플리케이션의 응답성을 향상시킬 수 있습니다.

결론

이 가이드를 따라 PDF 문서에 타임스탬프를 사용하여 디지털 서명하고 GroupDocs.Signature for .NET을 사용하여 인증하는 방법을 알아보았습니다. 이러한 기술을 활용하면 디지털 콘텐츠의 보안과 신뢰성을 강화하여 다양한 도메인에서 규정 준수를 보장할 수 있습니다.

다음 단계에서는 GroupDocs.Signature가 제공하는 다른 기능을 살펴보거나 애플리케이션 내 더 큰 워크플로에 통합하는 것이 포함됩니다. 다양한 옵션과 구성을 통해 더 많은 것을 실험해 보세요.

FAQ 섹션

  1. 디지털 서명이란 무엇인가요?

    • 디지털 서명은 디지털 영역의 손으로 쓴 서명과 마찬가지로 문서의 진위성과 무결성을 보장합니다.
  2. 문서 서명에 대한 인증서를 받으려면 어떻게 해야 하나요?

    • 신뢰할 수 있는 인증 기관(CA)에서 인증서를 구매하거나 내부 목적으로 자체 서명된 인증서를 사용할 수 있습니다.
  3. GroupDocs.Signature는 모든 .NET 버전과 호환됩니까?

    • 네, 필수 구성 요소에 명시된 대로 .NET Framework와 .NET Core를 지원합니다.