C#'da Doğrulanmış PDF İmzalarından İmzalayanın Sertifikasını Okuma (X.509, eIDAS, Zincir)
Denetim boru hattınıza bir sözleşme gelir. Sözleşme dijital olarak imzalanmıştır, imza geçerlidir ve uyum ekibinizin bazı sorularına yanıt bulması gerekir: Sözleşmeyi kim imzalamıştır, o sabah sertifikası geçerli miydi ve sertifikayı veren CA, güvenilir listesiyle eşleşiyor mu? Ham imza baytlarını çekebilir, DER'yi ayrıştırabilir ve sertifika zincirini elle inceleyebilirsiniz. Veya cevapları özellikler olarak okuyarak VerifiedSignature nesnesine SignerCertificate sormayı deneyebilirsiniz.
Bu, VerifiedSignature üzerindeki SignerCertificate ve CertificateChain özelliklerinin neden inşa edildiğidir. PdfDocument.GetVerifiedSignatures()'den döndürülen, imzalayanın X.509 kimliği, veren CA, geçerlilik tarihleri, SHA-256 parmak izi, ham DER baytları ve köke kadar her ara sertifikayı gösterir. Bu, eIDAS uyumluluğu, sertifika sabitleme, denetim izleri ve güven zinciri doğrulaması için ihtiyacınız olan API yüzeyidir.
Bu kılavuz, üç sertifika denetim grubunu ele almaktadır:
- Standart X.509 detayları: kimlik özellikleri, tam Ayırt Edilmiş İsimler, geçerlilik pencereleri ve
X509Certificate2iletişimi için ham DER baytları. - eIDAS ve düzenlenmiş endüstri alanları:
SubjectSerialNumberüzerinden imzalayanın ulusal kimlik numarasını çekme ve eIDAS organizationIdentifier için2.5.4.97gibi sayısal OID'leri okuma. - Güven zinciri doğrulama: SHA-256 parmak izi sabitleme ve imzalayan kişiden kök CA'ya kadar tüm zinciri izleme.
Doğrulama sürecinizde sertifika denetimini test etmek için 30 günlük ücretsiz deneme sürümünü başlatın.
Hızlı Başlangıç: İmzalı bir PDF'den İmzalayanın Sertifikasını Okuma
Yüklü bir PDF üzerinde GetVerifiedSignatures çağırarak, imzalayanın sertifika özelliklerini doğrudan sonuçtan okuyabilirsiniz.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
var sig = PdfDocument.FromFile("signed.pdf").GetVerifiedSignatures().First(); var cert = sig.SignerCertificate; Console.WriteLine($"{cert?.CommonName} ({cert?.Organization}) valid until {cert?.NotAfter}"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
Minimal İş Akışı (3 adım)
- IronPDF'yu NuGet'ten İndirin
- İmzalanmış bir PDF dosyasını yükleyin ve
GetVerifiedSignatures() işleviniçağırarak doğrulanmış imza nesnelerinin listesini alın - Kimlik ve geçerlilik için
sig.SignerCertificate'iokuyun veya tam güven zinciri içinsig.CertificateChain'iinceleyin.
İmzalayanın ulusal veya kişisel kimlik numarasını nasıl çıkarırsınız?
SubjectSerialNumber özelliği, sertifikanın Konu DN'sinden SERIALNUMBER OID değerini döndürür. Düzenlemelere tabi sektörlerde (eIDAS onaylı sertifikalar, bankacılık, devlet tarafından verilen dijital kimlikler), bu alan imzalayan kişinin ulusal kimlik numarasını, vergi kimlik numarasını veya kişisel kimlik numarasını içerir. Bu, sertifikanın kendi seri numarası değildir; bu CertificateSerialNumber.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-serial-number.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("eidas-signed-invoice.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Subject DN SERIALNUMBER OID (national ID, tax ID, etc.)
Console.WriteLine($"Signer Identity (SERIALNUMBER): {cert.SubjectSerialNumber ?? "not present"}");
// Certificate's own serial from the issuing CA
Console.WriteLine($"Certificate Serial (CA-issued): {cert.CertificateSerialNumber}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("eidas-signed-invoice.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Subject DN SERIALNUMBER OID (national ID, tax ID, etc.)
Console.WriteLine($"Signer Identity (SERIALNUMBER): {If(cert.SubjectSerialNumber, "not present")}")
' Certificate's own serial from the issuing CA
Console.WriteLine($"Certificate Serial (CA-issued): {cert.CertificateSerialNumber}")
Next
SubjectSerialNumber dokümanı kim imzaladığını söyler (bir kişi veya organizasyon kimliği, Konu DN içine gömülmüş gibi bir ulusal kimlik veya vergi numarası). CertificateSerialNumber hangi sertifikanın kullanıldığını söyler; (Bu, sertifika veren Yetkili Kurumun iptal listeleri ve denetim günlükleri için atadığı benzersiz seridir.Convenience Identity Özelliklerine Nasıl Erişebilirsiniz?
SignerCertificateInfo en yaygın ihtiyaç duyulan Konu DN alanlarını doğrudan özellikler olarak gösterir, bu yüzden tam DN dizisini kendiniz ayrıştırmanıza gerek yoktur.
İmzalayanın Adını ve Bağlı Olduğu Kurumu Okuma
CommonName, Organization, Country ve Email özellikleri, çoğu kimlik iş akışının öncelikle ulaştığı şeyleri kapsar.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-identity-common.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("signed-agreement.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Common Subject DN fields exposed directly as properties
Console.WriteLine($"CommonName (CN): {cert.CommonName}");
Console.WriteLine($"Organization (O): {cert.Organization}");
Console.WriteLine($"Country (C): {cert.Country}");
Console.WriteLine($"Email: {cert.Email}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("signed-agreement.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Common Subject DN fields exposed directly as properties
Console.WriteLine($"CommonName (CN): {cert.CommonName}")
Console.WriteLine($"Organization (O): {cert.Organization}")
Console.WriteLine($"Country (C): {cert.Country}")
Console.WriteLine($"Email: {cert.Email}")
Next
Email özelliği önce emailAddress OID'sini Konu DN'sinde kontrol eder. Mevcut değilse, Konu Alternatif Adı (SAN) rfc822Name uzantısına geri döner. Country özelliği, iki harfli ISO 3166-1 alpha-2 kodunu döndürür (örneğin, "DE", "US", "FR"). Tüm kolaylık özellikleri, sertifikada karşılık gelen alan mevcut değilse null döndürür.
Her Şeye İhtiyacınız Olduğunda Tam DN'yi Okuma
Denetim günlüğü, veri analizi veya uyumluluk raporları için, SubjectDN ve IssuerDN tam Ayırt Edilmiş İsim dizelerini döndürür.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-identity-full-dn.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("signed-agreement.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Full DN strings for audit logging or downstream parsing
Console.WriteLine($"Full Subject DN: {cert.SubjectDN}");
Console.WriteLine($"Full Issuer DN: {cert.IssuerDN}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("signed-agreement.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Full DN strings for audit logging or downstream parsing
Console.WriteLine($"Full Subject DN: {cert.SubjectDN}")
Console.WriteLine($"Full Issuer DN: {cert.IssuerDN}")
Next
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.
Rastgele Konu ve Veren Alanlarını Nasıl Çıkarırsınız?
GetSubjectField(string) ve GetIssuerField(string) yöntemleri, kısa adlar veya sayısal OID'leri kabul eder. Bu yöntemler büyük/küçük harf duyarlı değildir ve alan mevcut değilse null döndürür.
Desteklenen kısa adlar: CN, O, OU, C, L, ST, E, SERIALNUMBER, SURNAME, T, GIVENNAME, UID, ORGANIZATIONIDENTIFIER.
Herhangi Bir Konu Alanını Okuma (eIDAS OID'leri Dahil)
Konu DN'den herhangi bir alanı çekmek için "OU" gibi bir kısa ad veya "2.5.4.97" (eIDAS organizationIdentifier) gibi bir sayısal OID geçirin.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-field-subject.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("eidas-contract.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Short-name lookups (case-insensitive)
string? orgUnit = cert.GetSubjectField("OU");
string? surname = cert.GetSubjectField("SURNAME");
string? givenName = cert.GetSubjectField("GIVENNAME");
string? title = cert.GetSubjectField("T");
// Numeric OID lookup (eIDAS organizationIdentifier)
string? orgId = cert.GetSubjectField("2.5.4.97");
Console.WriteLine($"Name: {givenName} {surname} ({title}), OU: {orgUnit}");
Console.WriteLine($"eIDAS Org ID (2.5.4.97): {orgId ?? "not present"}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("eidas-contract.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Short-name lookups (case-insensitive)
Dim orgUnit As String = cert.GetSubjectField("OU")
Dim surname As String = cert.GetSubjectField("SURNAME")
Dim givenName As String = cert.GetSubjectField("GIVENNAME")
Dim title As String = cert.GetSubjectField("T")
' Numeric OID lookup (eIDAS organizationIdentifier)
Dim orgId As String = cert.GetSubjectField("2.5.4.97")
Console.WriteLine($"Name: {givenName} {surname} ({title}), OU: {orgUnit}")
Console.WriteLine($"eIDAS Org ID (2.5.4.97): {If(orgId, "not present")}")
Next
Sayısal OID aramaları, eIDAS ve kuruluş kimliklerini, mesleki nitelikleri veya standart kısa adlarla kapsanmayan yargı alanına özgü alanları ekleyen düzenlenmiş endüstri sertifikaları için esastır.
Verenin Alanlarını Okuma
GetIssuerField, veren CA'nın Ayırt Edilmiş İsmi üzerinde aynı şekilde çalışır. Bu, güven doğrulama, CA raporlaması ve imzaların verici otoriteye göre gruplandırılması için yararlıdır.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-field-issuer.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("eidas-contract.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// GetIssuerField works the same way as GetSubjectField
string? issuerCN = cert.GetIssuerField("CN");
string? issuerO = cert.GetIssuerField("O");
string? issuerCountry = cert.GetIssuerField("C");
Console.WriteLine($"Issued by: {issuerCN} ({issuerO}, {issuerCountry})");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("eidas-contract.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' GetIssuerField works the same way as GetSubjectField
Dim issuerCN As String = cert.GetIssuerField("CN")
Dim issuerO As String = cert.GetIssuerField("O")
Dim issuerCountry As String = cert.GetIssuerField("C")
Console.WriteLine($"Issued by: {issuerCN} ({issuerO}, {issuerCountry})")
Next
Sertifika Geçerliliğini Nasıl Kontrol Edersiniz?
SignerCertificateInfo iki geçerlilik yardımcısı sağlar:
IsExpired,DateTime.UtcNow > NotAfterisetruedöndürür.IsValidAt(DateTime), verilen zaman damgasıNotAfterpenceresi içinde isetruedöndürür. Genel kullanım, sertifikanın imzalama sırasında geçerli olduğunu doğrulamaktır.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-validity.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("archived-contract.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
Console.WriteLine($"Valid from: {cert.NotBefore}");
Console.WriteLine($"Valid until: {cert.NotAfter}");
Console.WriteLine($"Expired now: {cert.IsExpired}");
// Confirm certificate was valid when the document was signed
bool validAtSigning = cert.IsValidAt(sig.SigningDate);
Console.WriteLine($"Valid at signing time ({sig.SigningDate}): {validAtSigning}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("archived-contract.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
Console.WriteLine($"Valid from: {cert.NotBefore}")
Console.WriteLine($"Valid until: {cert.NotAfter}")
Console.WriteLine($"Expired now: {cert.IsExpired}")
' Confirm certificate was valid when the document was signed
Dim validAtSigning As Boolean = cert.IsValidAt(sig.SigningDate)
Console.WriteLine($"Valid at signing time ({sig.SigningDate}): {validAtSigning}")
Next
IsExpired false (değil true) döndürür. Yardımcı kasıtlı olarak temkinlidir; yalnızca meta veriler eksik olduğu için süresinin dolduğunu varsaymaz. Sıfır güven iş akışları için, eksik geçerlilik tarihlerini açıkça bir hata durumu olarak ele alın.Denetim izleri için, hem IsExpired kontrolünü (geçerli geçerlilik) hem de IsValidAt(signingDate) kontrolünü (imzalama anındaki geçerlilik) kaydedin. Sonrasında süresi dolmuş bir sertifika hala belgenin imzalandığı sırada geçerli olabilir; her iki veri noktası da uyumluluk açısından önemlidir.
Sertifika Sabitleme İçin SHA-256 Parmak İzini Nasıl Kullanırsınız?
Sha256Thumbprint özelliği, DER kodlu sertifikanın SHA-256 karması olan 64 karakterli büyük harfli bir hex dizisini döndürür. Bu, kabul edilen imzalayan sertifikaların bilinen iyi listesine karşı sabitlediğiniz değerdir.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-thumbprint-pinning.cs
using IronPdf;
using IronPdf.Signing.Inspection;
using System.Collections.Generic;
// Known-good signer thumbprints from a compliance database
var pinnedThumbprints = new HashSet<string>
{
"A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2",
"F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5"
};
var pdf = PdfDocument.FromFile("submitted-form.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Pin against trusted thumbprint list
bool trusted = pinnedThumbprints.Contains(cert.Sha256Thumbprint);
Console.WriteLine($"Signer: {cert.CommonName}, Thumbprint: {cert.Sha256Thumbprint}");
Console.WriteLine($"Pinned: {trusted}");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Imports System.Collections.Generic
' Known-good signer thumbprints from a compliance database
Dim pinnedThumbprints As New HashSet(Of String) From {
"A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2",
"F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5D4C3B2A1F6E5"
}
Dim pdf = PdfDocument.FromFile("submitted-form.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Pin against trusted thumbprint list
Dim trusted As Boolean = pinnedThumbprints.Contains(cert.Sha256Thumbprint)
Console.WriteLine($"Signer: {cert.CommonName}, Thumbprint: {cert.Sha256Thumbprint}")
Console.WriteLine($"Pinned: {trusted}")
Next
Ham Sertifika Verilerinden X509Certificate2 Nasıl Oluşturursunuz?
RawData özelliği, DER kodlamalı sertifikayı bir byte[] olarak döndürür. Her çağrı savunma kopyası döndürür, böylece dahili veriler referans olarak hiçbir zaman açığa çıkmaz. Bu veriyle, .NET'in yerel kriptografik API'leriyle (zincir oluşturma, politika doğrulama, CRL kontrolü) etkileşim için bir System.Security.Cryptography.X509Certificates.X509Certificate2 oluşturabilirsiniz.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-x509-interop.cs
using IronPdf;
using IronPdf.Signing.Inspection;
using System.Security.Cryptography.X509Certificates;
var pdf = PdfDocument.FromFile("signed-report.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
var cert = sig.SignerCertificate;
if (cert is null) continue;
// Construct X509Certificate2 from defensive DER copy
byte[] derBytes = cert.RawData;
var x509 = new X509Certificate2(derBytes);
Console.WriteLine($"X509 Subject: {x509.Subject}");
Console.WriteLine($"X509 Issuer: {x509.Issuer}");
Console.WriteLine($"X509 Serial: {x509.SerialNumber}");
Console.WriteLine($"X509 Algorithm: {x509.SignatureAlgorithm.FriendlyName}");
Console.WriteLine($"X509 Key Size: {x509.PublicKey.Key.KeySize} bits");
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Imports System.Security.Cryptography.X509Certificates
Dim pdf = PdfDocument.FromFile("signed-report.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Dim cert = sig.SignerCertificate
If cert Is Nothing Then Continue For
' Construct X509Certificate2 from defensive DER copy
Dim derBytes As Byte() = cert.RawData
Dim x509 = New X509Certificate2(derBytes)
Console.WriteLine($"X509 Subject: {x509.Subject}")
Console.WriteLine($"X509 Issuer: {x509.Issuer}")
Console.WriteLine($"X509 Serial: {x509.SerialNumber}")
Console.WriteLine($"X509 Algorithm: {x509.SignatureAlgorithm.FriendlyName}")
Console.WriteLine($"X509 Key Size: {x509.PublicKey.Key.KeySize} bits")
Next
RawData erişimi, taze bir savunma kopyası döndürür. Dahili bayt dizisi, referans olarak hiçbir zaman açığa çıkmaz, böylece döndürülen baytları değiştirmek sonraki çağrıları etkilemez.Bu etkileşim yolu, IronPDF'nin imza doğrulamasını X509Chain.Build() gibi mevcut .NET sertifika doğrulama hatlarına, CRL/OCSP üzerinden iptal kontrolüne veya özel X509CertificateValidator uygulamalarına takmanıza olanak tanır.
Sertifika Zincirini Nasıl Yürürsünüz?
VerifiedSignature üzerindeki CertificateChain özelliği, imzalayan → ara CA(lar) → kök CA'dan sıralanmış bir IReadOnlyList<SignerCertificateInfo> döndürür. İndeks 0 her zaman imzalayan sertifikadır (aynı nesne SignerCertificate olarak). Liste asla null değildir; eğer zincir çıkarılamazsa, yalnızca imzalayan sertifikayı içerir.
:path=/static-assets/pdf/content-code-examples/how-to/verify-pdf-signatures-chain-walking.cs
using IronPdf;
using IronPdf.Signing.Inspection;
var pdf = PdfDocument.FromFile("enterprise-signed.pdf");
foreach (var sig in pdf.GetVerifiedSignatures())
{
Console.WriteLine($"--- Signature: {sig.SignatureName} ---");
Console.WriteLine($"Chain length: {sig.CertificateChain.Count}");
// Walk from signer (index 0) through intermediates to root CA
for (int i = 0; i < sig.CertificateChain.Count; i++)
{
var cert = sig.CertificateChain[i];
string role = i == 0 ? "Signer"
: i == sig.CertificateChain.Count - 1 ? "Root CA"
: $"Intermediate CA ({i})";
Console.WriteLine($" [{role}]");
Console.WriteLine($" Subject: {cert.SubjectDN}");
Console.WriteLine($" Issuer: {cert.IssuerDN}");
Console.WriteLine($" Serial: {cert.CertificateSerialNumber}");
Console.WriteLine($" Valid: {cert.NotBefore} to {cert.NotAfter}");
Console.WriteLine($" Expired: {cert.IsExpired}");
Console.WriteLine($" Thumbprint: {cert.Sha256Thumbprint}");
}
}
Imports IronPdf
Imports IronPdf.Signing.Inspection
Dim pdf = PdfDocument.FromFile("enterprise-signed.pdf")
For Each sig In pdf.GetVerifiedSignatures()
Console.WriteLine($"--- Signature: {sig.SignatureName} ---")
Console.WriteLine($"Chain length: {sig.CertificateChain.Count}")
' Walk from signer (index 0) through intermediates to root CA
For i As Integer = 0 To sig.CertificateChain.Count - 1
Dim cert = sig.CertificateChain(i)
Dim role As String = If(i = 0, "Signer", If(i = sig.CertificateChain.Count - 1, "Root CA", $"Intermediate CA ({i})"))
Console.WriteLine($" [{role}]")
Console.WriteLine($" Subject: {cert.SubjectDN}")
Console.WriteLine($" Issuer: {cert.IssuerDN}")
Console.WriteLine($" Serial: {cert.CertificateSerialNumber}")
Console.WriteLine($" Valid: {cert.NotBefore} to {cert.NotAfter}")
Console.WriteLine($" Expired: {cert.IsExpired}")
Console.WriteLine($" Thumbprint: {cert.Sha256Thumbprint}")
Next
Next
SignerCertificateInfo, SignerCertificate ile aynı özellikleri gösterir: kimlik alanları, geçerlilik, parmak izi, RawData, GetSubjectField() ve GetIssuerField(). Her ara CA'nın süresini doğrulayabilir, kökün parmak izini güvenilir kök depolarınıza karşı kontrol edebilir ve uyumluluk denetimleri için tam zinciri kaydedebilirsiniz.Sonraki Adımlar
SignerCertificate ve CertificateChain, IronPDF API yüzeyinden ayrılmadan tam X.509 incelemesi sağlar. Buradan, bu özelliklerin yerleştirdiği IronPDF'nin parçalarına daha derinlemesine gitmek doğal bir sonraki harekettir.
İş akışının imzalama tarafı için, dijital imzalar nasıl yapılır bölümü, sertifika oluşturma, meta veriler ve artımlı imzalama konularını ele alır. Yüksek güvenlikli ortamlarda HSM tabanlı imzalama için, HSM imzalama kılavuzu, PKCS#11 entegrasyonunu kapsar. Çalıştırmaya hazır parçacıklara mı ihtiyacınız var? dijital imzalar kod örneği onları sağlar.
Kendi imzalanmış PDF'lerinizde denemeye hazır mısınız? Ücretsiz 30 günlük denemenize başlayın veya lisanslama seçeneklerini görüntüleyin.
Sıkça Sorulan Sorular
PDF imzalarından X.509 sertifika detaylarını okumanın amacı nedir?
PDF imzalarından X.509 sertifika detaylarını okumak, imzalayanın kimliğini doğrulamanızı, sertifikanın geçerliliğini kontrol etmenizi ve eIDAS gibi standartlara uyumluluğu sağlamanızı mümkün kılar. Bu işlem, belgelerin doğruluğunu ve bütünlüğünü korumak için gereklidir.
IronPDF, PDF imzalarından imzalayan kimliğini nasıl çıkartır?
IronPDF, PDF imzalarından imzalayan kimliğini X.509 sertifika detaylarına erişerek çıkartan araçlar sunar, bu da belgenin kaynağını doğrulamayı ve imzalayanın kimlik bilgilerini önemsimayi kolaylaştırır.
IronPDF, PDF imzalarından eIDAS alanları çıkartabilir mi?
Evet, IronPDF PDF imzalarından eIDAS alanlarını çıkartabilir, bu da geliştiricilerin belgelerin Avrupa Birliği'nin elektronik imza ile ilgili düzenlemelerine uyumluluğunu sağlamasını mümkün kılar.
IronPDF kullanarak PDF imzasından hangi bilgiler elde edilebilir?
IronPDF kullanarak, PDF imzasından imzalayan kimliği, sertifika geçerliliği, parmak izi ve sertifika zinciri gibi bilgileri alabilir, imzanın doğruluğunu ayrıntılı şekilde anlayabilirsiniz.
IronPDF kullanarak bir PDF imzasının geçerliliğini doğrulamak mümkün mü?
Evet, IronPDF, X.509 sertifika detaylarını inceleyerek PDF imzasının geçerliliğini doğrulamanıza olanak tanır; buna, son kullanma tarihlerini kontrol etmek ve imzalama sertifikasının bütünlüğünü sağlamak dahildir.
PDF imza doğrulaması için IronPDF kullanmanın faydaları nelerdir?
IronPDF kullanarak PDF imza doğrulaması yapmak, ayrıntılı sertifika bilgilerinin otomatik olarak çıkarılması, C# uygulamaları ile uyumluluk ve eIDAS gibi uluslararası standartlara uyum gibi faydalar sağlar.
IronPDF, PDF imzalarından parmak izi çıkarmayı nasıl yönetir?
IronPDF, X.509 sertifika detaylarına PDF imzası içinde erişerek parmak izi çıkarmayı yönetir, böylece siz de sertifikanın benzersiz parmak izi ile doğruluğunu ve bütünlüğünü doğrulayabilirsiniz.
IronPDF, PDF imzasından bir sertifika zinciri sağlayabilir mi?
IronPDF, PDF imzasından bir sertifika zinciri sağlayabilir; bu, imzalayanın sertifikasından güvenilen kök sertifikasına kadar olan güven yolunu izlemenize yardımcı olur, imzanın geçerliliğini sağlar.
IronPDF, PDF imzalarını okumak için hangi programlama dilini destekler?
IronPDF, PDF imzalarını okumak ve doğrulamak için C#'ı destekler, bu da .NET ekosisteminde çalışan geliştiriciler için ideal bir çözüm sunar.
IronPDF, elektronik imzalar için uluslararası standartlarla uyumlu mu?
Evet, IronPDF, eIDAS gibi uluslararası standartlarla uyumludur, böylece PDF imza doğrulama süreçlerinizin elektronik imzalarla ilgili düzenleyici gereksinimleri karşıladığından emin olabilirsiniz.

