.NET용 GroupDocs.Signature를 사용하여 타임스탬프가 포함된 PDF 디지털 서명을 구현하는 방법
소개
오늘날의 디지털 환경에서는 문서의 진위성과 무결성을 보장하는 것이 무엇보다 중요합니다. 계약서, 법률 문서 또는 민감한 정보를 관리하든 PDF에 디지털 서명을 추가하면 쉽게 검증할 수 있는 강력한 보안을 제공합니다. 신뢰할 수 있는 타사 서비스의 타임스탬프를 통합하여 보안을 더욱 강화하세요. 이 튜토리얼에서는 .NET용 GroupDocs.Signature를 사용하여 PDF 문서에 타임스탬프가 포함된 디지털 서명을 구현하는 방법을 안내합니다.
당신이 배울 것
- .NET용 GroupDocs.Signature를 사용하여 PDF 문서에 디지털 서명하는 방법
- SafeStamper와 같은 외부 서비스의 타임스탬프 적용
- 환경 및 종속성 설정
- 구현 중 일반적인 문제 해결
디지털 서명으로 문서 관리를 강화할 준비가 되셨나요? 먼저 필수 조건을 살펴보겠습니다.
필수 조건
시작하기 전에 다음 사항이 있는지 확인하세요.
필수 라이브러리, 버전 및 종속성
.NET용 GroupDocs.Signature: 이 라이브러리는 PDF 서명 작업을 처리하는 데 필수적입니다. 개발 환경과의 호환성을 확인하세요.
PDF 문서: 샘플 문서를 준비하세요 (
SamplePdf.pdf
)에 서명하게 됩니다.디지털 인증서: 획득하다
.pfx
파일(예:CertificatePfx.pfx
) 디지털 인증서와 비밀번호가 포함되어 있습니다.
환경 설정 요구 사항
.NET 개발 환경을 준비하세요. 사용 편의성을 위해 Visual Studio 또는 호환되는 IDE를 사용하는 것이 좋습니다.
지식 전제 조건
C#에 대한 기본적인 이해와 디지털 인증서에 대한 친숙함이 유익하지만, 이 가이드에서 각 단계를 안내해 주므로 필수는 아닙니다.
.NET용 GroupDocs.Signature 설정
프로젝트에 GroupDocs.Signature를 통합하려면 다음 설치 단계를 따르세요.
.NET CLI
dotnet add package GroupDocs.Signature
패키지 관리자
Install-Package GroupDocs.Signature
NuGet 패키지 관리자 UI
- NuGet 패키지 관리자를 엽니다.
- “GroupDocs.Signature"를 검색하세요.
- 최신 버전을 설치하세요.
라이센스 취득
- 무료 체험: 가입하세요 GroupDocs 웹사이트 무료 평가판 라이센스를 다운로드하세요.
- 임시 면허: 체험판보다 더 많은 시간이 필요한 경우 임시 라이센스를 요청하세요.
- 구입: 장기 프로젝트의 경우 전체 라이선스 구매를 고려하세요.
기본 초기화 및 설정
응용 프로그램에서 GroupDocs.Signature를 초기화하려면 인스턴스를 생성하세요. Signature
클래스에서 문서 경로를 지정합니다. 여기서 디지털 서명과 타임스탬프로 PDF에 서명하는 작업을 시작합니다.
구현 가이드
구현을 관리 가능한 부분으로 나누어 보겠습니다.
1. 디지털 서명 객체 생성
PDF 문서에 대한 디지털 서명 개체를 설정하는 것으로 시작하세요.
PdfDigitalSignature pdfDigitalSignature = new PdfDigitalSignature()
{
ContactInfo = "Contact",
Location = "Location",
Reason = "Reason",
TimeStamp = new TimeStamp("https://www.safestamper.com/tsa", "", "")
};
- 매개변수:
ContactInfo
,Location
, 그리고Reason
서명에 대한 메타데이터를 제공합니다.TimeStamp
제3자 타임스탬프 기관(TSA) URL을 구성하여 문서 서명 시간을 검증할 수 있도록 보장합니다.
2. 디지털 서명 옵션 구성
필요한 매개변수를 사용하여 디지털 인증서 옵션을 설정하세요.
digitalSignOptions = new DigitalSignOptions(certificatePath)
{
Password = "1234567890",
Signature = pdfDigitalSignature,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right
};
- 주요 구성:
Password
디지털 인증서 내의 개인 키에 접근하려면 입니다.- 조정하다
VerticalAlignment
그리고HorizontalAlignment
문서에 서명을 위치시키려면.
3. 문서 서명
서명 프로세스를 실행하고 잠재적인 예외를 처리합니다.
try
{
SignResult signResult = signature.Sign(outputFilePath, options);
if (signResult != null)
{
Console.WriteLine($"Document signed successfully with {signResult.Succeeded.Count} signature(s).\nFile saved at {outputFilePath}. ");
int number = 1;
foreach (BaseSignature temp in signResult.Succeeded)
{
Console.WriteLine($"Signature #{number++}: Type: {temp.SignatureType} Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Unexpected error signing with TimeStamp {pdfDigitalSignature.TimeStamp.Url} : {ex.Message}");
}
- 예외 처리: 이 블록은 서명 과정에서 발생하는 모든 오류를 캡처하여 기록합니다.
실제 응용 프로그램
타임스탬프가 포함된 PDF 디지털 서명이 매우 유용할 수 있는 실제 시나리오는 다음과 같습니다.
계약 관리: 계약서가 디지털로 서명되었는지 확인하고 진위 여부를 확인하세요.
법률 문서: 법원 제출물 및 기타 법적 서류를 안전하게 검증합니다.
재무 기록검증 가능한 타임스탬프를 사용하여 송장이나 세무 보고서와 같은 재무 문서를 보호합니다.
CRM 시스템과의 통합: 고객 관계 관리 도구 내에서 서명 프로세스를 자동화하여 워크플로 효율성을 향상시킵니다.
교육 자격증: 변조 방지 및 타임스탬프가 찍힌 디지털 서명된 학위증이나 증명서를 발급하여 진위 여부를 확인합니다.
성능 고려 사항
GroupDocs.Signature를 사용하는 동안 애플리케이션의 성능을 최적화하세요.
메모리 관리: 자원을 적절히 처리하여 활용합니다.
using
코드 조각에 표시된 대로 문장입니다.일괄 처리: 문서 양이 많은 경우 리소스 사용을 효율적으로 관리하기 위해 일괄 처리를 구현하는 것을 고려하세요.
효율적인 예외 처리: 성능에 큰 영향을 미치지 않으면서 예외를 처리하려면 try-catch 블록을 전략적으로 활용하세요.
결론
타임스탬프가 포함된 디지털 서명은 문서 보안에 혁신을 가져옵니다. GroupDocs.Signature for .NET을 사용하면 단 몇 줄의 코드만으로 PDF 문서에 안전하게 서명하고 타임스탬프를 추가할 수 있습니다. 이 튜토리얼은 이러한 기능을 효과적으로 구현하는 데 필요한 지식을 제공합니다.
다음 단계
- QR 코드나 이미지 서명과 같은 GroupDocs.Signature의 추가 기능을 살펴보세요.
- 간소화된 운영을 위해 대규모 비즈니스 애플리케이션에 디지털 서명 워크플로를 통합하는 것을 고려하세요.
시작할 준비가 되셨나요? 지금 바로 솔루션을 구축하고 문서 보안을 강화하세요!
FAQ 섹션
디지털 서명과 함께 타임스탬프를 사용하면 어떤 이점이 있나요?
- 타임스탬프는 문서에 서명한 시점을 확인하여 신뢰성과 법적 지위를 한층 높여줍니다.
서명하는 동안 흔히 발생하는 문제는 어떻게 해결할 수 있나요?
- 인증서가 유효하고 접근 가능한지 확인하고, 타임스탬프 서비스를 위한 네트워크 연결을 검증하고, 콘솔 출력에 오류가 있는지 확인하세요.
GroupDocs.Signature는 대용량 문서를 효율적으로 처리할 수 있나요?
- 네, 최적화된 메모리 관리 방식을 통해 대용량 파일을 처리하도록 설계되었습니다.
GroupDocs.Signature를 사용하는 데 비용이 발생합니까?
- 무료 체험판이 제공되지만, 계속 사용하려면 모든 기능을 사용하려면 라이선스를 구매해야 할 수도 있습니다.
GroupDocs.Signature를 기존 .NET 애플리케이션에 통합하려면 어떻게 해야 하나요?
- 이 튜토리얼에 제공된 설치 및 설정 지침을 따라 프로젝트에 원활하게 통합하세요.
자원
- 선적 서류 비치: GroupDocs 서명 문서
- API 참조: GroupDocs API 참조