PDF를 디지털 서명하는 방법
Contents
[
Hide
]
디지털 서명을 사용하여 PDF 서명하기
PDF 문서를 서명하여 콘텐츠를 확인하거나 Aspose.PDF로 문서를 승인할 수 있습니다.
Aspose.PDF for C++는 SignatureField 클래스를 사용하여 PDF 파일에 디지털 서명을 지원합니다. 또한 PKCS12 인증서로 PDF 파일을 인증할 수 있습니다. Adobe Acrobat에서 서명 및 보안 추가와 유사한 방식으로 가능합니다.
PDF 서명을 위해 PdfFileSignature 클래스를 사용하십시오.
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Facades;
void SecuringAndSigning::SignDocument() {
// 경로 이름을 위한 문자열.
String _dataDir("C:\\Samples\\");
String inFile = _dataDir + u"DigitallySign.pdf";
String outFile = _dataDir + u"DigitallySign_out.pdf";
auto document = MakeObject<Document>(inFile);
auto signature = MakeObject<PdfFileSignature>(document);
auto pkcs = MakeObject<Aspose::Pdf::Forms::PKCS7>(_dataDir + u"test.pfx", u"Pa$$w0rd2020"); // PKCS7/PKCS7Detached 사용
// 객체
System::Drawing::Rectangle rect(300, 100, 400, 200);
signature->Sign(1, true, rect, pkcs);
// 출력 PDF 파일 저장
signature->Save(outFile);
}
디지털 서명에 타임스탬프 추가
타임스탬프와 함께 PDF 디지털 서명하는 방법
Aspose.PDF for C++는 타임스탬프 서버나 웹 서비스를 사용하여 PDF에 디지털 서명을 지원합니다.
타임스탬프는 문서에 서명한 날짜와 시간을 나타내는 데 사용됩니다. 신뢰할 수 있는 타임스탬프는 PDF의 내용이 특정 시점에 존재했으며 그 이후로 변경되지 않았음을 증명합니다.
신뢰할 수 있는 타임스탬프를 디지털 서명이나 문서에 추가하려면 TimestampSettings 클래스를 사용하십시오.
다음 코드 스니펫은 타임스탬프를 얻고 PDF 문서에 추가하는 방법을 보여줍니다:
void SecuringAndSigning::SignWithTimeStampServer() {
// 경로 이름을 위한 문자열.
String _dataDir("C:\\Samples\\");
auto document = MakeObject<Document>(_dataDir + u"SimpleResume.pdf");
auto signature = MakeObject<PdfFileSignature>(document);
auto pkcs = MakeObject<Aspose::Pdf::Forms::PKCS7>(_dataDir + u"test.pfx", u"Pa$$w0rd2020");
auto timestampSettings = MakeObject<TimestampSettings>(u"https://freetsa.org/tsr", String::Empty); // User/Password can
// 생략될 수 있음
pkcs->set_TimestampSettings(timestampSettings);
System::Drawing::Rectangle rect(100, 100, 200, 100);
// 세 가지 서명 유형 중 하나 생성
signature->Sign(1, u"서명 이유", u"연락처", u"위치", true, rect, pkcs);
// 출력 PDF 파일 저장
signature->Save(_dataDir + u"DigitallySignWithTimeStamp_out.pdf");
}