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.

PDF imzalaması için dijital imza sertifikaları oluşturmak için Azure anahtar hazinesi arayüzü

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.

Azure anahtar hazinesi ile GroupDocs .NET PDF dijital imza işlemi tam akış şeması

Not: Var olan bir sertifika kullanmak istiyorsanız, İçe Aktar seçeneğini seçip yerel cihazınızdan birini yükleyebilirsiniz.

GroupDocs.Signature ile özel hash imzalaması uygulaması için C# kod örneği

Adım 4: Ardından Gelişmiş Politikelere gidin ve Özel Anahtar İhracı seçeneğini Hayır olarak ayarlayın.

Bileşenler arasındaki veri akışını gösteren Azure sertifika imzalaması işlemi şeması

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.

.NET uygulamasında PDF imza doğrulama örneği, doğrulama sonuçlarını gösterir

⚙️ 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.

Azure anahtar hazinesi ve GroupDocs arasında elektronik belge imzaları entegrasyonu

Adım 2: Uygulama adını girin ve kaydedin.

Güvenlik ayarlarıyla güvenli PDF imza API yapılandırması ekranı

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.

Dijital imza iznleri için Azure anahtar hazinesi erişim politikesi ayar arayüzü

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.

.NET PDF imzalaması çıktısı örneği, başarıyla imzalanmış belgeyi gösterir

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.

GroupDocs özel hash uygulaması için dış imzalanma cihazı entegrasyonu şeması

🔐 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.

Düzenleyici gereksinimleri için dijital imza uyumluluğu ayarları yapılandırması

Adım 2: Gereken izinleri seçin ve İleri düğmesine tıklayın.

PDF imza hizmetleri için Azure Active Directory uygulama kayıtları

Adım 3: Bu pencere, daha önce kaydettiğimiz GroupDocs.Signature.Service uygulamasını seçin ve Oluştur düğmesine tıklayın.

Bileşen ilişkilerini gösteren özel imza hizmetleri mimarisi şeması
Görsel imza özelleştirme için GroupDocs Signature görünüm ayarları paneli

Uygulama şimdi Erişim Politikeleri bölümünde görünür olacaktır.

Doğrulama iş akışını gösteren PDF dijital imza doğrulama işlemi

📑 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:

  1. 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.
  2. Ş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.
  3. 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.
  4. 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.
  5. İ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: GetAzureSecretCredential yö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: SignWithAzure yöntemi, Azure SDK’nin CryptographyClient‘ı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:

  1. 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.
  2. 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 ClientSecretCredential oluşturun.
  3. 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.
  4. Özel İmzalamayı Uygulayın:
    • Azure SDK’nin CryptographyClient‘ını kullanarak belge hash’ını imzala.
    • Uygun imza algoritmasını (örneğin, RS256) belirtin.

📌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:

  1. 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.
  2. Akıllı Kart Entegrasyonu: Şirket ortamları için fiziksel kimlik doğrulama gerektiren akıllı kart okurları ile bir imzalanıcı oluşturun.
  3. Biyometrik Kimlik Doğrulama: İmza oluşturma izni vermeden önce parmak izi veya yüz tanıma gerektiren bir imza hizmeti oluşturun.
  4. Çoklu Parti Onay: Son imza uygulanmadan önce çoklu tarafın onay vermesini gerektiren özel imzalanma akışını uygulayın.
  5. 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: