Java'da PDF Nasıl Dijital Olarak İmzalanır

This article was translated from English: Does it need improvement?
Translated
View the article in English

Java'da IronPDF ile dijital olarak bir PDF imzalamak, belge orijinalliğini doğrulayan ve yetkisiz değişiklikleri tespit eden kriptografik imzalar uygulamanıza olanak tanır. IronPDF, herhangi bir PDF'ye PFX sertifika tabanlı imzaların eklenmesi için PdfSignature desteği sunar, görünür imza görüntüleri ayarlar, PdfCertificationLevel ile PDF sertifikasyon seviyelerini kontrol eder ve uzun vadeli imza geçerliliği için Zaman Damgası Otoritesi sunucusuna bağlanır.

Hızlı Başlangıç: Java'da Bir PDF'yi Dijital Olarak İmzala

  1. IronPDF for Java'yı Maven veya Gradle üzerinden yükleyin
  2. Lisans anahtarınızı License.setLicenseKey() ile ayarlayın
  3. PDF'yi PdfDocument.fromFile() kullanarak yükleyin
  4. PFX sertifika dosyanız ve şifrenizle bir PdfSignature oluşturun
  5. İmzanızı signDigitalSignature() kullanarak uygulayın
  6. İmzalı PDF'yi saveAs() ile kaydedin
 :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 {
        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document
        PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));

        // Create a PdfSignature using a PFX certificate file and its password
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signature metadata for audit trails
        signature.setSigningContact("John Smith");
        signature.setSigningLocation("New York");
        signature.setSigningReason("Document Approval");

        // Apply the digital signature to the PDF
        pdf.signDigitalSignature(signature);

        // Save the signed PDF to a new file
        pdf.saveAs(Path.of("signed.pdf"));
    }
}
 :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 {
        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document
        PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));

        // Create a PdfSignature using a PFX certificate file and its password
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signature metadata for audit trails
        signature.setSigningContact("John Smith");
        signature.setSigningLocation("New York");
        signature.setSigningReason("Document Approval");

        // Apply the digital signature to the PDF
        pdf.signDigitalSignature(signature);

        // Save the signed PDF to a new file
        pdf.saveAs(Path.of("signed.pdf"));
    }
}
JAVA

Dijital imzalar, PDF belgelerine, özel anahtara ve sertifikaya bağlı bir kriptografik kimlik kazandırır. Bir alıcı, imzalı bir PDF dosyasını Adobe Acrobat veya uygun bir görüntüleyicide açtığında, uygulama sertifika zincirinin güvenilir bir otoriteye kadar izini takip ettiğini ve belge içeriğinin imzadan sonra değişmediğini doğrular. Bu kimlik doğrulama ve bütünlüğün birleşimi, sözleşmeler, faturalar, tebliğler ve düzenleme başvuruları gibi her türlü belgede bozulma kanıtının önemli olduğu durumlarda dijital imzaları gerekli kılar.

PDF imzaları iki kategoriye ayrılır: onay imzaları ve yazar (sertifikasyon) imzaları. Bir onay imzası, belirli bir zamanda bir imza sahibinin onayını kaydeder; birden fazla taraf sırayla onay imzası ekleyebilir ve bu işlem, önceki imzaları geçersiz kılmaz. Compatibly certify() ile uygulanan bir sertifikasyon imzası, belgeyi PdfCertificationLevel ile kilitler ve imzalayan kişiyi belge yazarı olarak işaretler. Sertifikasyon imzaları, bir belgedeki ilk imza olmalıdır ve sonraki imzacılar tarafından yapılabilecek değişiklikleri kontrol eder.

IronPDF, PdfSignature ve PdfDocument etrafında oluşturulmuş tutarlı bir API aracılığıyla her iki imza türünü de destekler. Başlangıç kurulumu, bağımlılık konfigürasyonu ve lisans anahtarı talimatları için Başlarken Genel Bakış bölümüne bakın.

Başlamadan Önce Neye İhtiyacım Var?

IronPDF ile PDF'leri imzalamadan önce aşağıdaki ön koşulları doğrulayın:

  • Java 8 veya daha yüksek: IronPDF, sürüm 8 veya daha yüksek bir JDK gerektirir.
  • IronPDF for Java: Bağımlılığı, derleme dosyanıza ekleyin. En son sürümü Maven Central'da bulun.
  • Geçerli bir lisans anahtarı: Anahtarı uygulama başlangıcında License.setLicenseKey() ile ayarlayın. Kurulum detayları için lisans anahtarları rehberini ziyaret edin.
  • Bir PFX veya P12 sertifika dosyası: Bu, özel anahtarınızı ve PKCS#12 formatındaki genel sertifikanız içeren, parola korumalı bir arşivdir. Kendi kendine imzalanmış sertifikalar, geliştirme ve test için çalışır; dış alıcılar tarafından güvenilmesi gereken üretim belgeleri için, DigiCert, Comodo veya GlobalSign gibi tanınmış bir Sertifika Yetkilisi (CA) tarafından verilen bir sertifika kullanın.

Tam bağımlılık kurulumu ve proje konfigürasyonu için Başlarken Genel Bakış bağlantısına bakın.

Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

PdfSignature yapıcısı, PFX sertifika dosyanızın dosya yolunu ve şifresini alır. Bir kez oluşturulduğunda, üç ayarlayıcı yöntem aracılığıyla isteğe bağlı meta veriyi ekleyebilirsiniz:

  • setSigningContact(String): imzalayan kişinin adı veya e-postası
  • setSigningLocation(String): imzalayanın fiziksel veya organizasyonel konumu
  • setSigningReason(String): belgenin neden imzalandığına dair kısa bir açıklama

Bu alanlar, PDF görüntüleyicilerinin imza özellikleri panelinde görünür ve uyumluluk amaçları için kullanışlı bir denetim kaydı oluşturur. Kriptografik imzayı gömlemek için yüklenmiş PdfDocument üzerinde signDigitalSignature(PdfSignature) çağırın, ardından sonucu saveAs() ile kaydedin.

//: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 {
        // Set the IronPDF license key
        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"));
    }
}
//: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 {
        // Set the IronPDF license key
        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"));
    }
}
JAVA

signDigitalSignature() tamamlandığında, PDF, PFX dosyasındaki özel anahtarla imzalanmış belge içeriğinin bir kriptografik karmasını içerir. Bu noktadan sonra dosyada herhangi bir değişiklik imzayı geçersiz kılacaktır.

Icon Quote related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle
Icon Quote related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle
Icon Quote related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.

David Jones related to Bir Dijital İmzayı PDF'ye Nasıl Uygularım?

David Jones

Baş Yazılım Mühendisi, Agorus Build

Vaka çalışmasını görüntüle

Bir PDF'ye Görünür İmza Görüntüsü Nasıl Eklerim?

Görünür bir imza görüntüsü, imza alanının bulunduğu PDF sayfasına doğrudan grafik bir temsil yerleştirir. Bu genellikle, belgenin basıldığında veya görüntülendiğinde imzalanmış göründüğü, yalnızca bir PDF okuyucusunun imza paneli ile incelendiğinde değil, bir taranmış el yazısı imza, şirket mührü veya logo göstermek için kullanılır.

Görünür bir resim eklemek için, görüntü dosyasını bir FileInputStream olarak açın ve signDigitalSignature() çağırmadan önce PdfSignature.setSignatureImage(InputStream) 'na geçirin. Görüntü, sayfadaki imza alanına gömülür.

//: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 {
        // Set the IronPDF license key
        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 {
        // Set the IronPDF license key
        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"));
    }
}
JAVA

İmza görüntüsü kriptografik korumayı değiştirmez; hem grafik mühür hem de altta yatan sertifika imzalanmış çıktının bir parçası olarak kalır. İmza görüntüsü için PNG ve JPEG formatları desteklenir.

Belirli Bir İzin Seviyesi ile Bir PDF Nasıl Sertifikalandırılır?

Bir PDF'yi sertifikalandırmak, ona onay imzası eklemekten farklıdır. pdf.certify(PdfSignature, PdfCertificationLevel) çağırdığınızda, belgeyi yazarı olarak imzalarsınız ve sonraki kullanıcılar tarafından hangi tür değişikliklerin yapılabileceğini belirlersiniz. Sertifikalandırılmış bir PDF, Adobe Acrobat'ta mavi bir kurdele veya benzeri güven işareti gösterir, bu da alıcıya belgenin doğrulanmış bir kaynaktan geldiğini bildirir.

IronPDF, üç sertifikasyon seviyesi sağlar: PdfCertificationLevel enum ile.

  • PdfCertificationLevel.NO_CHANGES_ALLOWED: belgenin sertifikalandırıldıktan sonra tamamen kilitlenmesi; başka bir değişiklik yapılamaz.
  • PdfCertificationLevel.FORM_FILLING: alıcılar form alanlarını doldurabilir ancak yorum ekleyemez, açıklamalar veya diğer değişiklikleri yapamaz.
  • PdfCertificationLevel.FORM_FILLING_AND_ANNOTATIONS: alıcılar form alanlarını doldurabilir ve açıklamalar ekleyebilir, ancak yapısal düzenlemeler hâlâ yasaktır.

Bir sertifikasyon imzasının bir belgedeki ilk imza olması gerektiğinden, başka taraflardan gelen onay imzalarını uygulamadan önce certify() çağrısında bulunun.

//: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 {
        // Set the IronPDF license key
        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 {
        // Set the IronPDF license key
        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"));
    }
}
JAVA

NO_CHANGES_ALLOWED ile sertifikalandırıldıktan sonra, PDF üzerinde yapılacak herhangi bir değişiklik sertifikasyon imzasını bozacak ve PDF görüntüleyiciler bir uyarı gösterecektir. Onaylı belgenin alt kademedeki alıcılar tarafından doldurulması veya açıklama eklenmesi gerektiğinde, yazarın sertifikasyonunu geçersiz kılmadan FORM_FILLING veya FORM_FILLING_AND_ANNOTATIONS seçin.

Dijital İmzalara Nasıl Zaman Damgası Eklerim?

Bir Zaman Damgası Otoritesi (TSA) sunucusu, PDF içindeki imza ile birlikte gömülü olan kriptografik olarak imzalanmış bir zaman damgası token'ı sağlar. Bu zaman damgası imzanın uygulandığı zamanı kanıtlar, imzalayanın yerel saatinden bağımsız olarak. Uzun vadeli geçerlilik zaman damgalarına bağlıdır: imza sertifikası süresi dolduktan sonra bile, güvenceli bir zaman damgası doğrulayıcıların imzanın sertifika hala geçerli iken oluşturulduğunu doğrulamasına izin verir.

Zaman damgalamayı etkinleştirmek için, imzalamadan önce PdfSignature nesnesinde iki özellik ayarlayın:

  • setTimestampHashAlgorithm(PdfHashAlgorithm): zaman damgası jetonu hesaplanırken kullanılacak karma algoritmasını belirtir. PdfHashAlgorithm.SHA256 standart bir tercihtir.
  • setTimestampUrl(String): zaman damgası jetonunu verecek olan TSA sunucusunun HTTP veya HTTPS uç noktası.

Test ve düşük hacimli üretim kullanımı için ücretsiz olarak sunulan birkaç TSA sunucusu bulunmaktadır. https://freetsa.org/tsr ve http://timestamp.digicert.com sıkça kullanılan iki uç noktadır.

//: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 {
        // Set the IronPDF license key
        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 {
        // Set the IronPDF license key
        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"));
    }
}
JAVA

İmza sırasında TSA erişilemez olduğunda, IronPDF bir istisna fırlatır; ağ erişimini ve TSA uç nokta URL'sini üretime başlamadan önce doğrulayın. Yoğun üretim iş akışları için, çalışma süresi ve bilgi erişimi garantilerini sağlamak için ticari bir TSA aboneliğini düşünün.

Java'da PDF'leri Dijital Olarak İmzalamak için Sonraki Adımlar Neler?

IronPDF'nin PdfSignature sınıfı, PDF imza gereksinimlerinin tamamını kapsar: sertifika meta verileri ile onay imzaları, görünür grafik damgalar, erişim kontrol seviyeleri ile PDF sertifikasyonu ve uzun vadeli geçerlilik için TSA destekli zaman damgaları. PDF iş akışınızı imzalamanın ötesine genişletmek için bu ilgili kaynakları keşfedin:

Java PDF iş akışınıza dijital imzalar eklemek için ücretsiz denemenize başlayın. Üretim kullanımı için bir lisans satın almak için, lisanslama seçeneklerini görüntüleyin.

Sıkça Sorulan Sorular

Java'da IronPDF ile bir PDF'yi dijital olarak nasıl imzalarım?

PDF'nizi PdfDocument.fromFile() ile yükleyin, PFX sertifika dosyanızın yolu ve parolası kullanarak bir PdfSignature oluşturun, isteğe bağlı olarak setSigningContact(), setSigningLocation() ve setSigningReason() ile meta veri ayarlayın, ardından pdf.signDigitalSignature(signature) çağırın ve pdf.saveAs() ile kaydedin.

IronPDF'deki signDigitalSignature() ile certify() arasındaki fark nedir?

signDigitalSignature() bir imzalama onayını kaydeden onay imzası ekler. Sıralı olarak birden fazla onay imzası eklenebilir. certify(), belge üzerinde ilk olması gereken bir yazar imzası ekler ve sonraki imza sahiplerinin yapabileceği değişiklikleri kontrol eden bir PdfCertificationLevel ayarlar.

Java'da imzalanmış bir PDF'ye görünür imza resmi nasıl eklenir?

Görüntü dosyasını bir FileInputStream olarak açın ve signDigitalSignature() çağırmadan önce signature.setSignatureImage(imageStream)'e iletin. Görüntü, sayfadaki kriptografik imzanın yanında imza alanına gömülür.

IronPDF hangi PDF sertifikasyon seviyelerini destekler?

IronPDF, PdfCertificationLevel enum üzerinden üç seviye destekler: NO_CHANGES_ALLOWED belgeyi tamamen kilitler, FORM_FILLING yalnızca form alanı girdisini izin verir, ve FORM_FILLING_AND_ANNOTATIONS form alanlarına ve açıklamalara izin verirken yapısal düzenlemeleri önler.

Java'da dijital imzaya zaman damgası nasıl eklenir?

signDigitalSignature() çağırmadan önce signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256) ve signature.setTimestampUrl("https://freetsa.org/tsr") ayarlayın. IronPDF, TSA sunucusuyla iletişim kurar ve imzalı PDF'ye zaman damgası belirteci gömer.

IronPDF'nin PDF imzalama için hangi sertifika dosya formatını gerektirir?

IronPDF, özel anahtar ve genel sertifika içeren bir PKCS#12 arşivi olan PFX veya P12 sertifika dosyası gerektirir. Geliştirme için kendinden imzalı sertifikalar çalışır; üretim kullanımı için DigiCert veya GlobalSign gibi güvenilen bir Sertifika Yetkilisinden bir sertifika edinin.

Java'da IronPDF ile PDF'leri dijital olarak imzalamak için ön koşullar nelerdir?

Java 8 veya üstü, IronPDF bağımlılığı Maven veya Gradle üzerinden eklenmiş, License.setLicenseKey() ile ayarlanmış geçerli bir lisans anahtarı ve parolası ile PFX veya P12 sertifika dosyasına ihtiyacınız var.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.6 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.