Java에서 PDF에 디지털 서명하는 방법
IronPDF를 사용하여 Java에서 PDF에 디지털 서명하는 것은 문서 진위성을 검증하고 무단 변경을 감지하는 암호화 서명을 적용할 수 있게 해줍니다. IronPDF는 PdfSignature을 지원하여 모든 PDF에 PFX 인증서 기반 서명을 첨부하고, 표시되는 서명 이미지를 설정하며, PdfCertificationLevel을 통해 PDF 인증 수준을 제어하고, 장기적인 서명 유효성을 위해 타임스탬프 인증 기관(TSA) 서버에 연결할 수 있습니다.
빠른 시작: Java에서 PDF에 디지털 서명하기
- IronPDF for Java를 Maven 또는 Gradle을 통해 설치하세요
License.setLicenseKey()로 라이선스 키를 설정하세요PdfDocument.fromFile()을 사용하여 PDF를 불러오기- PFX 인증서 파일과 비밀번호를 사용하여
PdfSignature를 생성하십시오. signDigitalSignature()서명을 적용하십시오.- 서명된 PDF를
saveAs()로 저장하십시오.
```Java :title=Quickstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/quickstart.java import java.io.IOException; import java.nio.file.Path; import com.ironsoftware.IronPdf.License; import com.ironsoftware.IronPdf.PdfDocument; import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main { public static void main(String[] args) throws IOException { // IronPDF 라이선스 키 설정 License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// 기존 PDF 문서를 로드합니다
PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));
// PFX 인증서 파일 및 비밀번호로 PdfSignature를 생성합니다
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// 감사 기록을 위한 서명 메타데이터를 설정합니다
signature.setSigningContact("John Smith");
signature.setSigningLocation("New York");
signature.setSigningReason("문서 승인");
// PDF에 디지털 서명을 적용합니다
pdf.signDigitalSignature(signature);
// 서명된 PDF를 새 파일로 저장합니다
pdf.saveAs(Path.of("signed.pdf"));
}
}
디지털 서명은 PDF 문서에 개인 키와 인증서에 연계된 암호화 신원을 부여합니다. 수신자가 Adobe Acrobat 또는 호환 뷰어에서 서명된 PDF를 열 때, 애플리케이션은 인증서 체인이 신뢰할 수 있는 권한으로 되돌아가고, 서명 이후 문서 내용이 변경되지 않았음을 검증합니다. 이러한 인증 및 무결성의 결합으로 인해 디지털 서명은 계약서, 청구서, 규제 제출물 및 무단 변조 증거가 중요한 모든 문서에 필수적입니다.
PDF 서명은 승인 서명과 작성자(인증) 서명 두 가지 범주로 나뉩니다. 승인 서명은 한 시점에 한 서명자의 승인을 기록합니다; 여러 당사자가 순서대로 승인 서명을 추가할 수 있으며, 이전 서명을 무효화하지 않습니다. `certify()`로 적용된 인증 서명은 `PdfCertificationLevel`에 따라 문서를 잠그고 서명자를 문서 작성자로 표시합니다. 인증 서명은 문서의 첫 번째 서명이 되어야 하며, 이후 서명자가 허용할 수 있는 변경 사항을 제어합니다.
IronPDF는 `PdfSignature` 및 `PdfDocument`를 기반으로 구축된 일관된 API를 통해 두 가지 서명 유형을 모두 처리합니다. 초기 설정, 종속성 구성 및 라이선스 키 설명서는 [시작 가이드 개요](https://ironpdf.com/java/docs/)를 참조하세요.
<div class="hsg-featured-snippet">
<h2>Java에서 PDF에 디지털 서명하는 방법</h2>
<ol>
<li><a href="https://ironpdf.com/java/#download-modal">디지털 서명을 위한 IronPDF Java 라이브러리 설치</a></li>
<li><strong>PdfDocument</strong> 클래스를 사용하여 PDF를 로드합니다</li>
<li>PFX 인증서 파일과 비밀번호를 사용하여 <strong>PdfSignature</strong>를 생성합니다</li>
<li>선택적으로 <code>setSignatureImage</code>로 가시적 서명 이미지를 설정합니다</li>
<li><code>signDigitalSignature</code>로 서명을 적용합니다</li>
<li><code>certify</code>와 <code>PdfCertificationLevel</code>로 PDF를 인증합니다</li>
<li><code>saveAs</code>로 서명된 PDF를 저장합니다</li>
</ol>
</div>
## 시작하기 전에 무엇이 필요합니까?
IronPDF를 사용하여 PDF에 서명하기 전에 다음 필수 조건을 확인하세요:
- **Java 8 이상**: IronPDF는 버전 8 이상의 JDK가 필요합니다.
- **IronPDF for Java**: 종속성을 빌드 파일에 추가합니다. 최신 버전은 [Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf)에서 확인하세요.
- **유효한 라이선스 키**: 애플리케이션 시작 시 `License.setLicenseKey()`을 사용하여 키를 설정하십시오. 설정 세부정보는 [라이선스 키 설명서](https://ironpdf.com/java/get-started/license-keys/)를 참조하세요.
- **PFX 또는 P12 인증서 파일**: 이는 PKCS#12 형식의 개인 키와 공개 인증서를 포함하는 비밀번호로 보호된 아카이브입니다. 자체 서명 인증서는 개발 및 테스트에 적합합니다; 외부 수신자가 신뢰해야 하는 프로덕션 문서의 경우 DigiCert, Comodo, GlobalSign과 같은 인정된 인증 기관(CA)이 발급한 인증서를 사용하세요.
전체 종속성 설정 및 프로젝트 구성은 [시작 가이드 개요](https://ironpdf.com/java/docs/)를 참조하세요.
## PDF에 디지털 서명을 적용하려면 어떻게 하나요?
`PdfSignature` 생성자는 PFX 인증서의 파일 경로와 해당 암호를 매개변수로 받습니다. 생성된 후 세 가지 setter 메서드를 통해 선택적 메타데이터를 첨부할 수 있습니다:
- `setSigningContact(String)`: 서명자의 이름 또는 이메일
- `setSigningLocation(String)`: 서명자의 물리적 또는 조직적 위치
- `setSigningReason(String)`: 문서에 서명하는 이유에 대한 간략한 설명
이 필드는 PDF 뷰어의 서명 속성 패널에 나타나며, 규정 준수를 위한 유용한 감사 기록을 작성합니다. 로드된 `PdfDocument`에서 `signDigitalSignature(PdfSignature)`을 호출하여 암호화 서명을 삽입한 다음, `saveAs()`을 사용하여 결과를 저장하십시오.
```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/apply-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF to sign
PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));
// Construct the PdfSignature with the certificate path and password
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// Set metadata that will appear in the signature properties panel
signature.setSigningContact("Jane Doe");
signature.setSigningLocation("Austin, TX");
signature.setSigningReason("Contract Approval");
// Embed the digital signature in the PDF
pdf.signDigitalSignature(signature);
// Save the signed document
pdf.saveAs(Path.of("contract-signed.pdf"));
}
}
signDigitalSignature()이 완료되면, PDF에는 PFX 파일의 개인 키로 서명된 문서 내용의 암호학적 해시가 포함됩니다. 이 시점 이후에 파일을 수정하면 서명이 무효화됩니다.
PDF에 가시적 서명 이미지를 추가하려면 어떻게 하나요?
가시적 서명 이미지는 서명 필드의 위치에서 PDF 페이지에 그래픽 표현을 직접 배치합니다. 이는 스캔된 손글씨 서명, 회사 스탬프, 로고를 표시하여, PDF 리더의 서명 패널로 검사할 때뿐만 아니라 인쇄하거나 볼 때 문서에 서명이 있는 것처럼 보일 수 있도록 자주 사용됩니다.
보이는 이미지를 추가하려면 이미지 파일을 FileInputStream로 열고, PdfSignature.setSignatureImage(InputStream)에 전달한 후 signDigitalSignature()를 호출하십시오. 이미지는 페이지의 서명 필드 내에 임베드됩니다.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/visible-signature-image.java
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF document to sign
PdfDocument pdf = PdfDocument.fromFile(Path.of("agreement.pdf"));
// Build the PdfSignature from a PFX certificate
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// Set signing metadata
signature.setSigningContact("Alice Johnson");
signature.setSigningLocation("Chicago, IL");
signature.setSigningReason("Agreement Authorization");
// Open the signature image file and attach it to the signature
FileInputStream imageStream = new FileInputStream("signature.png");
signature.setSignatureImage(imageStream);
// Apply the digital signature with the visible image to the PDF
pdf.signDigitalSignature(signature);
// Save the signed PDF with the visible signature image embedded
pdf.saveAs(Path.of("agreement-signed.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/visible-signature-image.java
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF document to sign
PdfDocument pdf = PdfDocument.fromFile(Path.of("agreement.pdf"));
// Build the PdfSignature from a PFX certificate
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// Set signing metadata
signature.setSigningContact("Alice Johnson");
signature.setSigningLocation("Chicago, IL");
signature.setSigningReason("Agreement Authorization");
// Open the signature image file and attach it to the signature
FileInputStream imageStream = new FileInputStream("signature.png");
signature.setSignatureImage(imageStream);
// Apply the digital signature with the visible image to the PDF
pdf.signDigitalSignature(signature);
// Save the signed PDF with the visible signature image embedded
pdf.saveAs(Path.of("agreement-signed.pdf"));
}
}
서명 이미지는 암호화 보호를 대체하지 않습니다; 그래픽 스탬프와 기본 인증서 모두 서명된 출력의 일부로 남아있습니다. PNG 및 JPEG 형식이 서명 이미지에 대해 지원됩니다.
특정 권한 수준으로 PDF를 인증하려면 어떻게 하나요?
PDF를 인증하는 것은 승인 서명을 추가하는 것과 다릅니다. pdf.certify(PdfSignature, PdfCertificationLevel)를 호출하면 문서에 작성자로 서명하고, 이후 사용자가 수행할 수 있는 변경 유형을 지정하게 됩니다. 인증된 PDF는 Adobe Acrobat에서 파란 리본 또는 유사한 신뢰 표시기를 표시하여 수신자에게 문서가 확인된 출처에서 전달되었음을 알립니다.
IronPDF는 PdfCertificationLevel 열거형을 통해 세 가지 인증 수준을 제공합니다:
PdfCertificationLevel.NO_CHANGES_ALLOWED: 인증 후 문서는 완전히 잠기게 됩니다; 더 이상의 수정을 허용하지 않습니다.PdfCertificationLevel.FORM_FILLING: 수신자는 양식 필드를 작성할 수 있지만, 주석, 메모 또는 기타 변경 사항을 추가할 수는 없습니다.PdfCertificationLevel.FORM_FILLING_AND_ANNOTATIONS: 수신자는 양식 필드를 채우거나 주석을 추가할 수 있지만, 구조적인 수정은 여전히 금지됩니다.
인증 서명은 문서에서 가장 먼저 위치해야 하므로, 다른 당사자의 승인 서명을 적용하기 전에 certify()을 호출하십시오.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/certify-pdf.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfCertificationLevel;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF that will be certified
PdfDocument pdf = PdfDocument.fromFile(Path.of("report.pdf"));
// Create the PdfSignature from the author's certificate
PdfSignature signature = new PdfSignature("author-certificate.pfx", "password123");
// Set author metadata for the certification signature
signature.setSigningContact("Legal Department");
signature.setSigningLocation("San Francisco, CA");
signature.setSigningReason("Official Publication");
// Certify the document with NO_CHANGES_ALLOWED to lock it completely
// Use FORM_FILLING to allow form field input after certification
// Use FORM_FILLING_AND_ANNOTATIONS to also permit annotations
pdf.certify(signature, PdfCertificationLevel.NO_CHANGES_ALLOWED);
// Save the certified PDF
pdf.saveAs(Path.of("report-certified.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/certify-pdf.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfCertificationLevel;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF that will be certified
PdfDocument pdf = PdfDocument.fromFile(Path.of("report.pdf"));
// Create the PdfSignature from the author's certificate
PdfSignature signature = new PdfSignature("author-certificate.pfx", "password123");
// Set author metadata for the certification signature
signature.setSigningContact("Legal Department");
signature.setSigningLocation("San Francisco, CA");
signature.setSigningReason("Official Publication");
// Certify the document with NO_CHANGES_ALLOWED to lock it completely
// Use FORM_FILLING to allow form field input after certification
// Use FORM_FILLING_AND_ANNOTATIONS to also permit annotations
pdf.certify(signature, PdfCertificationLevel.NO_CHANGES_ALLOWED);
// Save the certified PDF
pdf.saveAs(Path.of("report-certified.pdf"));
}
}
NO_CHANGES_ALLOWED 인증을 받은 후 PDF를 수정하려고 시도하면 인증 서명이 무효화되어 PDF 뷰어에 경고 메시지가 표시됩니다. 인증된 문서를 작성자 인증의 유효성을 유지한 채 하류 수신자가 작성하거나 주석을 달아야 할 경우, FORM_FILLING 또는 FORM_FILLING_AND_ANNOTATIONS을 선택하십시오.
디지털 서명에 타임스탬프를 추가하려면 어떻게 하나요?
타임스탬프 권한 기관(TSA) 서버는 PDF의 서명 옆에 포함되는 암호화 서명된 시간 토큰을 제공합니다. 이 타임스탬프는 서명이 적용된 시점을 서명자의 로컬 시계와 독립적으로 증명합니다. 장기 유효성은 타임스탬프에 의존합니다: 서명 인증서가 만료된 후에도 신뢰할 수 있는 타임스탬프를 사용하면 검증자가 서명이 인증서가 여전히 유효할 때 만들어졌음을 확인할 수 있습니다.
타임스탬프를 활성화하려면 서명 전에 PdfSignature 객체의 두 가지 속성을 설정하십시오:
setTimestampHashAlgorithm(PdfHashAlgorithm): 타임스탬프 토큰을 계산할 때 사용할 해싱 알고리즘을 지정합니다.PdfHashAlgorithm.SHA256이 표준 선택 사항입니다.setTimestampUrl(String): 타임스탬프 토큰을 발급할 TSA 서버의 HTTP 또는 HTTPS 엔드포인트.
여러 TSA 서버가 테스트 및 저량 생산 사용을 위해 무료로 제공됩니다. https://freetsa.org/tsr 및 http://timestamp.digicert.com는 두 가지 자주 사용되는 엔드포인트입니다.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/timestamp-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfHashAlgorithm;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF to sign with a timestamp
PdfDocument pdf = PdfDocument.fromFile(Path.of("invoice.pdf"));
// Construct the PdfSignature from the certificate file
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// Set signature metadata
signature.setSigningContact("Finance Team");
signature.setSigningLocation("Seattle, WA");
signature.setSigningReason("Invoice Authorization");
// Configure the timestamp: set the hash algorithm and TSA endpoint
signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256);
signature.setTimestampUrl("https://freetsa.org/tsr");
// Apply the digital signature; IronPDF will contact the TSA to obtain
// and embed a timestamp token alongside the cryptographic signature
pdf.signDigitalSignature(signature);
// Save the timestamped, signed PDF
pdf.saveAs(Path.of("invoice-signed-timestamped.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/timestamp-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfHashAlgorithm;
import com.ironsoftware.IronPdf.Signature.PdfSignature;
public class Main {
public static void main(String[] args) throws IOException {
// IronPDF 라이선스 키 설정
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Load the PDF to sign with a timestamp
PdfDocument pdf = PdfDocument.fromFile(Path.of("invoice.pdf"));
// Construct the PdfSignature from the certificate file
PdfSignature signature = new PdfSignature("certificate.pfx", "password123");
// Set signature metadata
signature.setSigningContact("Finance Team");
signature.setSigningLocation("Seattle, WA");
signature.setSigningReason("Invoice Authorization");
// Configure the timestamp: set the hash algorithm and TSA endpoint
signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256);
signature.setTimestampUrl("https://freetsa.org/tsr");
// Apply the digital signature; IronPDF will contact the TSA to obtain
// and embed a timestamp token alongside the cryptographic signature
pdf.signDigitalSignature(signature);
// Save the timestamped, signed PDF
pdf.saveAs(Path.of("invoice-signed-timestamped.pdf"));
}
}
TSA가 서명 시점에 접근할 수 없는 경우, IronPDF는 예외를 던집니다; 프로덕션에 배포하기 전에 네트워크 액세스와 TSA 엔드포인트 URL을 확인하세요. 고량 생산 워크플로를 처리할 때, 가동 시간 및 처리량 보장을 확보하기 위해 상업적인 TSA 구독을 고려하세요.
Java에서 PDF를 디지털 서명하는 다음 단계는 무엇인가요?
IronPDF의 PdfSignature 클래스는 인증서 메타데이터가 포함된 승인 서명, 가시적인 그래픽 스탬프, 액세스 제어 수준이 적용된 PDF 인증, 장기적인 유효성을 보장하는 TSA 기반 타임스탬프 등 PDF 서명에 필요한 모든 요건을 포괄합니다. 서명 외의 PDF 워크플로를 확장하려면 다음의 관련 리소스를 탐색하세요:
- Java에서 PDF Formular 만들기: PDF가 인증된 후 작성할 수 있는 양식 필드를 만듭니다.
- Java에서 PDF Formular 채우기: 기존 PDF 문서에서 양식 필드를 프로그래밍적으로 채웁니다.
- Java에서 PDF에 주석 추가하기: 특정 페이지 위치에 댓글, 강조 표시 및 주석을 첨부합니다.
- Java에서 PDF 병합하기: 단일 인증 서명을 적용하기 전에 여러 문서를 결합합니다.
- IronPDF for Java 예제: 전체 IronPDF Java API를 포괄하는 코드 샘플을 복사하여 붙여넣습니다.
무료 체험판을 시작하세요 당신의 Java PDF 워크플로에 디지털 서명을 추가하세요. 생산용으로 라이선스를 구매하려면, 라이선싱 옵션 보기를 클릭하세요.
자주 묻는 질문
Java에서 IronPDF로 PDF를 디지털 서명하는 방법은?
PDF를 PdfDocument.fromFile()로 불러온 뒤, PFX 인증서 파일 경로와 비밀번호를 사용하여 PdfSignature를 생성합니다. setSigningContact(), setSigningLocation(), setSigningReason()로 메타데이터를 옵션으로 설정한 후, pdf.signDigitalSignature(signature)를 호출하고 pdf.saveAs()로 저장합니다.
IronPDF에서 signDigitalSignature()와 certify()의 차이점은 무엇인가요?
signDigitalSignature()는 한 명의 서명자의 승인을 기록하는 승인 서명을 추가합니다. 여러 승인 서명을 순차적으로 추가할 수 있습니다. certify()는 문서의 첫 번째로 있어야 하는 저자 서명을 추가하며, 후속 서명자가 할 수 있는 변경을 제어하는 PdfCertificationLevel을 설정합니다.
Java에서 서명된 PDF에 시각적 서명 이미지를 추가하는 방법은?
FileInputStream으로 이미지 파일을 열고 signature.setSignatureImage(imageStream)에 전달한 다음 signDigitalSignature()를 호출합니다. 이미지는 페이지에 있는 암호화 서명과 함께 서명 필드에 포함됩니다.
IronPDF는 어떤 PDF 인증 수준을 지원하나요?
IronPDF는 PdfCertificationLevel 열거형을 통해 세 가지 수준을 지원합니다: NO_CHANGES_ALLOWED는 문서를 완전히 잠그고, FORM_FILLING은 폼 필드 입력만 허용하며, FORM_FILLING_AND_ANNOTATIONS는 구조적 수정 없이 폼 필드 및 주석을 허용합니다.
Java에서 디지털 서명에 타임스탬프를 추가하는 방법은?
signDigitalSignature()를 호출하기 전에 signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256)과 signature.setTimestampUrl("https://freetsa.org/tsr")을 PdfSignature에 설정하세요. IronPDF는 TSA 서버에 접속하여 서명된 PDF에 타임스탬프 토큰을 포함시킵니다.
PDF 서명에 필요한 인증서 파일 형식은 무엇인가요?
IronPDF는 비공개 키와 공개 인증서를 포함하는 PKCS#12 아카이브, PFX 또는 P12 인증서 파일이 필요합니다. 개발 시에는 자체 서명한 인증서를 사용할 수 있으며, 상용 환경에서는 DigiCert나 GlobalSign과 같은 신뢰할 수 있는 인증 기관에서 인증서를 얻어야 합니다.
Java에서 IronPDF를 사용하여 PDF를 디지털 서명하기 위한 사전 조건은 무엇인가요?
Java 8 이상, Maven 또는 Gradle을 통해 추가된 IronPDF 의존성, License.setLicenseKey()로 설정된 유효한 라이선스 키, 비밀번호가 있는 PFX 또는 P12 인증서 파일이 필요합니다.


