Java에서 디지털 서명 추가 또는 PDF에 디지털 서명

Aspose.PDF for Java는 PdfFileSignature를 통해 여러 서명 흐름을 지원합니다.

인증서 개체로 PDF에 서명

  1. PdfFileSignature 파사드를 생성하고 소스 PDF 문서를 바인딩하세요.
  2. PKCS7 서명 개체를 생성하고 서명 옵션을 구성하세요.
  3. PdfFileSignature를 통해 PDF 문서에 서명을 적용하세요.
  4. 업데이트된 PDF 문서를 저장하세요.
public static void signPdfWithCertificateObject(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.sign(1, false, signatureRectangle(), createPkcs7(certificateFile, "Document approval"));
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

이 접근 방식은 PKCS7 서명 개체를 먼저 작성한 다음 이를 페이지 1에 적용합니다.

기본 인증서 매개변수를 사용하여 PDF에 서명

  1. PdfFileSignature 파사드를 생성하고 소스 PDF 문서를 바인딩하세요.
  2. 서명 예시에 필요한 인증서 매개변수를 구성하세요.
  3. PdfFileSignature를 통해 PDF 문서에 서명을 적용하세요.
  4. 업데이트된 PDF 문서를 저장하세요.
public static void signPdfWithBasicParameters(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.setCertificate(certificateFile.toString(), CERTIFICATE_PASSWORD);
        pdfSignature.sign(1, "Document approval", "qa@example.com", "New York, USA", false, signatureRectangle());
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

DocMDP로 PDF 인증

인증 수준 제한이 필요한 경우 문서 수정 감지 및 방지 서명을 사용하세요.

  1. PdfFileSignature 파사드를 생성하고 소스 PDF 문서를 바인딩하세요.
  2. DocMDPSignature 개체를 생성하고 DocMDPAccessPermissions 서명 옵션을 구성하세요.
  3. 인증 서명을 적용하고 업데이트된 PDF 문서를 저장하세요.
public static void certifyPdfWithMdpSignature(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        DocMDPSignature signature = new DocMDPSignature(
                createPkcs7(certificateFile, "Certified for form filling and signing"),
                DocMDPAccessPermissions.FillingInForms);
        pdfSignature.certify(1, "Certified for form filling and signing", "security@example.com",
                "New York, USA", true, signatureRectangle(), signature);
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}