Giriş
PDF dosyaları çeşitli sektörlerde önemli bir yer tutar ve dijital imzalar sayesinde onları doğruluğu ve bütünlüğü korumak kritik bir güvenlik önlemidir. Dijital imzalar yasal geçerliliği sağlar ve belgeleri değiştirmekten korur. Bu kapsamlı rehber, Azure Key Vault ve GroupDocs.Signature for .NET kullanarak .NET PDF imzalamayı nasıl uygulayacağınızı adım adım anlatır.
Elektronik belge imzaları, kağıtsız iş akışlarına geçen işletmeler için artık çok önemlidir. GroupDocs.Signature for .NET, çeşitli düzenleyici çerçevelerinde dijital imza uyumluluğu gereksinimlerini karşılayan güçlü bir C# PDF dijital imza çözümüdür. .NET uygulamalarında PDF imzalamaya yeni başlıyorsanız veya mevcut uygulamayı geliştirmek istiyorsanız, bu eğitim tüm bilmeniz gerekenleri kapsar.
Azure Key Vault, kriptografik anahtarlar ve sertifikaları güvenli bir şekilde saklamak ve yönetmek için bir bulut tabanlı anahtar yönetim hizmetidir. GroupDocs.Signature for .NET, geliştiricilerin PDF dosyalarına programatik olarak dijital imzalar uygulayabilecekleri güçlü ve güvenli bir PDF imza API’sidir. Bu teknolojileri entegre ederek, sağlam ve verimli bir PDF dijital imza hizmeti oluşturabilirsiniz.
En güçlü özelliklerden biri, imzalanma iş akışınız için olağanüstü esneklik sağlayan özel hash imzalamadır. Bu yaklaşım, donanım güvenlik modülleri (HSM’ler), akıllı kartlar veya herhangi bir kriptografik cihaz gibi dış imzalanma cihazlarına bağlanmanızı sağlar. Özel hash imzalaması ile geliştiriciler, özel sistemler, eski altyapı veya özel güvenlik donanımı ile arayüz oluşturacak kendi imza hizmetlerini yazabilirken GroupDocs.Signature çerçevesiyle uyumluluğu koruyabilir. Bu, özel güvenlik gereksinimleri olan veya kriptografik altyapı yatırımı olan kuruluşlar için ideal bir çözümdir.
🔐 Azure anahtar hazinesi ve sertifika oluşturma
Azure anahtar hazinesi oluşturup sertifika oluşturma işlemiyle başlayalım.
Adım 1: Anahtar Hazinesi Sağlayın
Azure portal kullanarak yeni bir Azure anahtar hazinesi kaynağı oluşturun. Ayrıntılı talimatlar için lütfen bu hızlı başlangıç kılavuzuna bakın.
💡Etkin bir Azure aboneliğiniz yoksa, başlamak için 1 ay süren ücretsiz deneme aboneliğine kaydolabilirsiniz.
Adım 2: Sertifikanızı Oluşturun veya İçe Aktarın
Anahtar hazineniz çalışmaya başladığında, ana sayfasına gidin, Sertifikalar sekmesini seçin ve Oluştur/İçe Aktar düğmesine tıklayın.
Adım 3: Sertifika Oluşturma Yöntemi alanında Oluştur seçeneğini seçin ve yeni bir sertifika oluşturmak için otomatik olarak oluşturun. Bu örnekte, sertifika otoritesi türü olarak Özel imzalı sertifika seçiyoruz.
Not: Var olan bir sertifika kullanmak istiyorsanız, İçe Aktar seçeneğini seçip yerel cihazınızdan birini yükleyebilirsiniz.
Adım 4: Ardından Gelişmiş Politikelere gidin ve Özel Anahtar İhracı seçeneğini Hayır olarak ayarlayın.
Adım 5: Son olarak, Oluştur düğmesine tıklayın. Sertifika şimdi anahtar hazinenize eklenecek.
Sertifikanın ayrıntılarını görüntülemek için, sertifikanın özelliklerini açmak için üzerine tıklayın.
⚙️ Uygulamayı kaydedin ve Azure anahtar hazinesine erişim izni verin
Web API’nin Azure anahtar hazinesine erişmesini sağlamak için Azure Active Directory‘de kaydedilmelidir:
Adım 1: Azure Active Directory‘ye gidin, Uygulama kayıtları’nı seçin ve Yeni kayıt düğmesine tıklayın.
Adım 2: Uygulama adını girin ve kaydedin.
Kayıt sonrası, anahtar ayrıntılarını alacaksınız - Müşteri Kimliği ve Kiralama Kimliği’ni uygulamanızda kullanmak için kopyalayın.
Adım 3: Ardından, yan menüden API İzinleri’ni seçin ve İzin Ekle düğmesine tıklayın. Azure anahtar hazinesi’ni seçin, Tam Erişim‘i seçin ve işlemi İzinleri Ekle düğmesine tıklayarak tamamlayın.
Adım 4: Sertifika & gizli anahtar’ları seçin ve Yeni müşteri gizli anahtarı düğmesine tıklayın. Bu anahtarı .NET uygulamadan erişmek için kopyalayın.
🔐 Azure anahtar hazinesine erişim iznini atayın
Önceki adımlarda uygulama oluşturduk ve kaydettik. Şimdi yeni kaydedilen uygulamaya Azure anahtar hazinesine erişim izni vermeliyiz:
Adım 1: Azure anahtar hazinesine gidin, Erişim Politikeleri’ni seçin ve Oluştur düğmesine tıklayın.
Adım 2: Gereken izinleri seçin ve İleri düğmesine tıklayın.
Adım 3: Bu pencere, daha önce kaydettiğimiz GroupDocs.Signature.Service uygulamasını seçin ve Oluştur düğmesine tıklayın.
Uygulama şimdi Erişim Politikeleri bölümünde görünür olacaktır.
📑 Azure Key Vault ile GroupDocs.Signature for .NET PDF imzalaması nasıl kullanılır
Bu kapsamlı rehber, Azure Key Vault ile özel hash imzalaması kullanarak GroupDocs.Signature API’sini .NET ile PDF belgelerini nasıl imzalayacağınızı açıklayacaktır. İşlemi, C# ortamınızı yapılandırmaktan başlayarak, dijital imza uyumluluğu gereksinimlerini karşılayan özel hash imzalamayı uygulayan bir adım adım kılavuz olarak ayıracağız.
Güvenli PDF İmzalaması ile Özel Hash Uygulaması Genel Bakış
Özel hash imzalaması yaklaşımı, .NET uygulamalarınızda elektronik belge imzalarını uygulamanın olağanüstü esnekliği sunar. Şunları kapsayacağız:
- GroupDocs.Signature için PDF dijital imzalarını çalıştırmak için .NET uygulamayızı yapılandırın
- Profesyonel dijital imza seçeneklerini sertifika yönetimi ile yapılandırın
- Maksimum esneklik için özel hash imzalaması mekanizmasını uygulayın
- Belgeyi imzalamak için Azure Key Vault’a güvenli bir şekilde kamu sertifikasını alın
- Tüm uygulama sürecinde güvenlik en iyi uygulamalarını izleyin
Ek bilgi için lütfen GroupDocs.Signature belgelerine bakın.
🚀 .NET PDF Uygulamaları için Özel Hash İmzalamasının Faydaları
Uygulama öncesinde, özel hash imzalamanın dijital imza teknolojisinde önemli bir ilerlemeyi temsil ettiğini anlamak önemlidir:
- Dış İmzalanma Cihazlarıyla Entegrasyon: Özel hash imzalaması, fiziksel HSM’ler, akıllı kartlar, biyometrik cihazlar ve diğer özel kriptografik donanımla akıcı bir şekilde bağlantı kurmanızı sağlar.
- Şirket Çözümleri için Esnek Mimari: Kuruluşlar, mevcut altyapı, eski sistemler veya özel imza çözümleri ile arayüz oluşturacak kendi imza hizmetlerini yazabilirken GroupDocs.Signature ile uyumluluğu koruyabilir.
- Güvenlik Uyumluluğu Artırılmış: Hash oluşturmayı gerçek imzalanma işlemiyle ayırarak, kriptografik işlemler üzerinde daha iyi kontrol sağlayarak, eIDAS, ESIGN Act ve sektör özel uyumluluk gereksinimlerini karşılamak için yardımcı olur.
- Bulut Tabanlı Anahtar Yönetimi Destek: Azure Key Vault ile entegrasyon, sertifikaların Microsoft’ın sertifikalı güvenli altyapısında güvenli bir şekilde saklanmasını ve yönetilmesini sağlar.
- İmzalanma İşlemi Özelleştirme: Standart dijital imza uygulamaları dışında özel onay akışları, çoklu taraf imzalanma dizileri veya özel doğrulama kurallarını uygulayın.
Adım 1. C# PDF Dijital İmza Ortamını Yapılandırın
Başlangıçta, C# uygulamasında dosya yollarını tanımlayın ve GroupDocs.Signature nesnesini başlatın. Bu örnekte, kaynak PDF dosyasını ve imzalanmış belge için çıktı konumunu belirtiyoruz.
public static void SignDocument()
{
// Kaynak ve çıktı belgeler için yollar tanımlayın
string sampleFilePath = "sample.pdf";
string sampleOutputFilePath = "signed.pdf";
using (Signature signature = new Signature(sampleFilePath))
{
// Kod devam ediyor...
}
}
📌Açıklama:
Bu adım, imzalanacak PDF belgesi yüklenen yeni bir Signature örneği oluşturur, .NET uygulamasında güvenli PDF imzalamasının temelini oluşturur.
Adım 2. Dijital İmza Seçeneklerini Yapılandırın
Şimdi dijital imza seçeneklerini ayarlayın. Bu seçenekler sertifika ayrıntıları, görsel görünüm ve hash algoritması dahil olmak üzere. Özel hash imzalaması daha sonra takılacaktır.
// Dijital imza seçeneklerini başlatın
DigitalSignOptions options = new DigitalSignOptions()
{
Signature = new DigitalSignature(),
Password = "1234567890", // Sertifika şifresi
Reason = "Sign", // İmzalanma nedeni
Contact = "JohnSmith", // İletişim bilgisi
Location = "Office1", // İmzalanma konumu
AllPages = true, // Tüm sayfalar için imza uygulayın
Width = 80,
Height = 60,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Bottom = 10, Right = 10 },
HashAlgorithm = HashAlgorithm.Sha256 // Hash için SHA-256 belirtin
};
📌Açıklama:
Profesyonel standartlara uygun elektronik belge imzalarınızın görünümünü, konumunu ve hash’ini yapılandırın.
Güvenlik notu: Üretimde hassas değerleri (örneğin şifreler) sabit kodlamaktan kaçının; bunun yerine dijital imza uyumluluğu gereksinimleriyle uyumlu güvenli yapılandırma yöntemlerini kullanın.
Adım 3. Özel Hash İmzalamayı Uygulayın
Şimdi seçeneklere özel hash imzalanıcınızı atayın. Bu özel imzalanıcı ICustomSignHash arayüzünü uygular ve Azure Key Vault veya entegre etmek istediğiniz herhangi bir dış imzalanma cihazıyla hash’ı imzalamak için kullanılır.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌Açıklama:
AzureSigner örneği oluşturulur. CustomSignHash yöntemi imzalanma sürecinde çağrılacak ve aynı zamanda Azure Key Vault’tan kamu sertifikasını alır.
Adım 4. Belgeyi İmzala
Son olarak, özel hash imzalaması uygulamanızı kullanarak imzalanmış PDF belgesi oluşturmak için Sign yöntemini çağırın.
signature.Sign(sampleOutputFilePath, options);
📌Açıklama:
Bu yöntem, daha önce yapılandırılan seçenekleri, özel hash imzalanıcını dahil, belgeye dijital imzanızı uygular. Sonuçta elde edilen PDF, standart PDF okurları veya GroupDocs.Signature doğrulama özellikleriyle programatik olarak doğrulanabilir kriptografik güvenli bir imza içerecektir.
Adım 5. Azure Sertifika İmzalamasının Ayrıntılı Uygulaması
Azure Key Vault kullanarak Azure sertifika imzalamasının tam uygulamasını aşağıda bulabilirsiniz. Bu sınıf, Azure sertifika imzalaması için profesyonel uygulamaları gösterir, Azure kimlik bilgilerini alarak, kamu sertifikasını alarak ve belge hash’ını güvenli bir şekilde imzalayarak.
public class AzureSigner : ICustomSignHash
{
public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
SignatureContext signatureContext)
{
// İmzalanma işlemini Azure'a delegasyon
return SignWithAzure(hash);
}
private static byte[] SignWithAzure(byte[] signableHash)
{
// Azure kimlik bilgilerini al
var credential = GetAzureSecretCredential();
// Anahtar hazinesi sertifika anahtar kimliği belirtin
var certificateKeyId =
"https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
CryptographyClient client =
new CryptographyClient(new Uri(certificateKeyId), credential);
// Hash'ı RS256 ile imzala
var result = client.Sign(SignatureAlgorithm.RS256, signableHash);
return result.Signature;
}
static ClientSecretCredential GetAzureSecretCredential()
{
// Azure AD kiralama, müşteri ve gizli ayrıntılarını sağlayın
string tenantId = "your tenant id";
string clientId = "your client id";
string secret = "your secret";
ClientSecretCredential credential =
new ClientSecretCredential(tenantId, clientId, secret);
return credential;
}
public X509Certificate2 GetPublicCertificateFromAzureStorage()
{
// Anahtar hazinesi URI'sini tanımlayın
string vaultUri = "https://groupdocskeyvault.vault.azure.net/>";
var credential = GetAzureSecretCredential();
X509Certificate2 pubCertificate =
GetPublicCertificateFromAzureStorage(credential, vaultUri);
return pubCertificate;
}
static X509Certificate2 GetPublicCertificateFromAzureStorage(
ClientSecretCredential credential, string uri)
{
// Anahtar hazinesi için sertifika istemcisi oluşturun
CertificateClient certificateClient =
new CertificateClient(new Uri(uri), credential);
// Kamu anahtarı ile sertifika al
KeyVaultCertificateWithPolicy certificate =
certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
return new X509Certificate2(certificate.Cer);
}
}
📌Açıklamalar:
- Azure Kimlik Bilgileri:
GetAzureSecretCredentialyöntemi, kiralama kimliğinizi, müşteri kimliğinizi ve gizli anahtarınızı kullanarak bir kimlik oluşturur. Güvenlik notu: .NET PDF imzalanma uygulamanızın bütünlüğünü korumak için bu kimlik bilgilerini güvenli bir şekilde saklayın (örneğin, Azure anahtar hazinesi veya güvenli yapılandırma depolarını kullanarak). - Azure ile İmzalanma:
SignWithAzureyöntemi, Azure SDK’ninCryptographyClient‘ını kullanarak Azure anahtar hazinesinde saklanan sertifika ile hash’ı imzalar, sertifika yönetimi için dijital imza uyumluluğu en iyi uygulamalarını takip eden profesyonel bir yaklaşım gösterir. - Kamu Sertifika Alımı: Bu yöntem, anahtar hazinesine bağlanır ve imza doğrulama için gerekli sertifikayı alır, böylece elektronik belge imzalarınızın uygun şekilde doğrulanmasını sağlar.
Adım 6. PDF Dijital İmzalar için Azure Key Vault Uygulama Adımları
Özel imza hizmetlerinizle Azure Key Vault’u entegre etmek için aşağıdaki adımları izleyin:
- Azure Key Vault Kurulumu:
- Azure Key Vault örneği oluşturun.
- İmzalanma sertifikanızı anahtar hazinesine yükleyin.
- Uygulamanız için erişim politikelerini yapılandırın.
- Azure Kimlik Bilgilerini Yapılandırın:
- Azure Active Directory’de uygulamanızı kaydedin.
- Kiralama kimliğinizi, müşteri kimliğinizi ve müşteri gizli anahtarınızı alın.
- Anahtar hazinesine erişmek için
ClientSecretCredentialoluşturun.
- Sertifikayı Alın:
CertificateClient‘ı kullanarak Azure Key Vault’tan kamu anahtarı içeren sertifikayı alın.- Bu sertifika, dijital imzayı doğrulamak için kullanılır.
- Özel İmzalamayı Uygulayın:
- Azure SDK’nin
CryptographyClient‘ını kullanarak belge hash’ını imzala. - Uygun imza algoritmasını (örneğin, RS256) belirtin.
- Azure SDK’nin
📌Açıklama:
Her bir adım, imzalanma sürecinizin güvenli olmasını ve hassas anahtarların bulutta korunmasını sağlayarak, özel gereksinimlerinizi karşılamak için kendi imza hizmetlerinizi uygulamanıza olanak tanır.
🧩 Özel İmzalanma Uygulamanızı Genişletin
GroupDocs.Signature’ın özel hash imzalaması yaklaşımının güzeli, herhangi bir dış imzalanma cihazı veya hizmetle çalışmak için uyarlanabileceği yerde. Bu uygulamanızı genişletmenin bazı örnekleri:
- Donanım Güvenlik Modülleri (HSM’ler): Maksimum güvenlik için fiziksel HSM’ler ile iletişim kuran özel bir imzalanıcı uygulayın.
- Akıllı Kart Entegrasyonu: Şirket ortamları için fiziksel kimlik doğrulama gerektiren akıllı kart okurları ile bir imzalanıcı oluşturun.
- Biyometrik Kimlik Doğrulama: İmza oluşturma izni vermeden önce parmak izi veya yüz tanıma gerektiren bir imza hizmeti oluşturun.
- Çoklu Parti Onay: Son imza uygulanmadan önce çoklu tarafın onay vermesini gerektiren özel imzalanma akışını uygulayın.
- Bulut Hizmet Sağlayıcılar: Örnek, AWS KMS, Google Cloud KMS veya diğer bulut anahtar yönetim hizmetleriyle çalışmak için uyarlayın.
ICustomSignHash arayüzü aracılığıyla kendi imza hizmetlerini uygulayarak, kriptografik işlemleriniz üzerinde tam kontrol sağlayarak, GroupDocs.Signature for .NET’in güçlü belge işleme özelliklerinden yararlanabilirsiniz.
✨ Elektronik Belge İmzalarına Son Düşünceler
Bu rehber, Azure Key Vault ile GroupDocs.Signature entegrasyonu kullanarak PDF belgeler için uygun elektronik belge imzalarını güvenli bir şekilde oluşturmanızı gösterdi. Bu yöntemle oluşturulan elektronik belge imzaları, doğruluğu ve bütünlüğü korumak için endüstri standartlarını karşılar. Bu adım adım yaklaşımı izleyerek ve güvenlik en iyi uygulamalarını (örneğin, güvenli kimlik bilgisi işleme) takip ederek, tüm belge iş akışınızda .NET uygulamada sağlam bir dijital imza çözümü oluşturabilirsiniz.
Daha fazla ayrıntı ve gelişmiş senaryolar için resmi belgeleri inceleyin.
Ücretsiz Deneme Alın
GroupDocs.Signature API’lerini ücretsiz deneyebilirsiniz, en son sürümü yayın indirme web sitesinden indirip yükleyerek.
Tüm kütüphane özelliklerini sınırsız bir şekilde test etmek için geçici bir lisans alabilirsiniz. Geçici lisans için başvurmak için geçici lisans sayfasına gidin.
🔗 Ayrıca Bakınız
Daha fazla bilgi ve ek kaynaklar için aşağıdaki bağlantıların faydalı olabileceğini düşünüyoruz: