Pendahuluan

File PDF sangat penting dalam berbagai industri, dan memastikan keaslian dan integritasnya melalui tanda tangan digital adalah langkah keamanan yang kritis. Tanda tangan digital memberikan validitas hukum dan melindungi dokumen dari penyalahgunaan. Panduan ini membimbing Anda melalui implementasi penandatanganan PDF .NET dengan membuat layanan tanda tangan digital PDF yang aman menggunakan Azure Key Vault dan GroupDocs.Signature for .NET.

Tanda tangan elektronik dokumen telah menjadi semakin penting bagi bisnis yang beralih ke alur kerja tanpa kertas. GroupDocs.Signature for .NET menawarkan solusi tanda tangan digital PDF yang kuat dalam C# yang memenuhi persyaratan kompatibilitas tanda tangan digital di berbagai kerangka kerja peraturan. Apakah Anda baru dalam penandatanganan PDF di aplikasi .NET atau ingin meningkatkan implementasi yang sudah ada, tutorial ini mencakup semua yang Anda butuhkan tahu.

Azure Key Vault adalah layanan manajemen kunci berbasis cloud yang memungkinkan penyimpanan dan manajemen aman kunci kriptografi dan sertifikat. GroupDocs.Signature for .NET adalah API penandatanganan PDF yang kuat dan aman yang memungkinkan pengembang untuk secara programatis menerapkan tanda tangan digital ke file PDF. Dengan mengintegrasikan teknologi ini, Anda dapat membangun layanan tanda tangan digital PDF yang kuat dan efisien.

Salah satu fitur paling kuat yang akan kita eksplorasi adalah penandatanganan hash khusus, yang menawarkan kefleksibilitas luar biasa untuk alur kerja penandatanganan Anda. Pendekatan ini memungkinkan Anda untuk menghubungkan perangkat penandatanganan eksternal seperti modul keamanan keras (HSMs), kartu cerdas, atau perangkat kriptografi lainnya ke aplikasi Anda. Dengan penandatanganan hash khusus, pengembang dapat menulis layanan penandatanganan sendiri yang berantara dengan sistem milik, infrastruktur legacy, atau perangkat keamanan khusus sambil mempertahankan kompatibilitas dengan kerangka GroupDocs.Signature. Ini menjadikannya solusi ideal bagi organisasi dengan persyaratan keamanan khusus atau investasi yang sudah ada dalam infrastruktur kriptografi.

🔐 Buat Azure key vault dan sertifikat

Mari mulai dengan menyetel Azure Key Vault dan menghasilkan sertifikat.

Langkah 1: Provisi Key Vault

Buat sumber daya Azure Key Vault baru menggunakan Azure portal. Untuk petunjuk terperinci, silakan periksa panduan quick-start.

💡Jika Anda tidak memiliki langganan Azure aktif, Anda dapat mendaftar untuk percobaan gratis selama 1 bulan untuk memulai.

Langkah 2: Buat atau Impor Sertifikat Anda

Setelah key vault Anda berjalan, navigasikan ke dasbornya, pilih tab Sertifikat, dan klik Generate/Import untuk menambahkan sertifikat Anda.

Antarmuka Azure Key Vault untuk membuat sertifikat tanda tangan digital untuk penandatanganan PDF

Langkah 3: Dalam bidang Metode Pembuatan Sertifikat, pilih Generate untuk secara otomatis membuat sertifikat baru. Untuk contoh ini, kami memilih Sertifikat Self-signed sebagai jenis otoritas sertifikat.

Diagram alur kerja lengkap proses penandatanganan PDF digital GroupDocs .NET dengan Azure Key Vault

Catatan: Jika Anda lebih suka menggunakan sertifikat yang sudah ada, Anda dapat memilih Import untuk memuatnya dari perangkat lokal Anda.

Contoh kode C# implementasi penandatanganan hash khusus dengan GroupDocs.Signature

Langkah 4: Kemudian, pergi ke Konfigurasi Kebijakan Lanjutan dan setel opsi Ekspor Kunci Pribadi menjadi Tidak.

Diagram proses penandatanganan sertifikat Azure yang menunjukkan aliran data antara komponen

Langkah 5: Akhirnya, klik Buat. Sertifikat sekarang akan ditambahkan ke key vault Anda.

Untuk melihat detailnya, cukup klik sertifikat untuk membuka propertinya.

Contoh validasi tanda tangan PDF di aplikasi .NET yang menunjukkan hasil verifikasi

⚙️ Daftarkan aplikasi untuk memungkinkan akses ke Azure Key Vault

Untuk memungkinkan Web API mengakses Azure Key Vault, Anda perlu mendaftarkannya di Azure Active Directory:

Langkah 1: Navigasikan ke Azure Active Directory, pilih App registrations, dan klik New registration.

Integrasi tanda tangan elektronik dokumen antara Azure Key Vault dan GroupDocs

Langkah 2: Masukkan nama aplikasi Anda dan daftarkan.

Layar konfigurasi API penandatanganan PDF aman dengan pengaturan keamanan

Setelah pendaftaran, Anda akan menerima detail kunci—salin Client ID dan Tenant ID untuk digunakan dalam aplikasi Anda.

Antarmuka pengaturan kebijakan akses Azure Key Vault untuk izin tanda tangan digital

Langkah 3: Selanjutnya, pilih API Permissions dari menu samping dan klik Add Permission. Pilih Azure Key Vault, pilih Full Access, dan selesaikan proses dengan klik Add Permissions.

Contoh keluaran penandatanganan PDF .NET yang menunjukkan dokumen yang berhasil ditandatangani

Langkah 4: Pilih Certificate & secrets dan klik New client secret untuk membuat kunci rahasia baru. Salin kunci ini untuk mengaksesnya dari aplikasi .NET Anda.

Diagram integrasi perangkat penandatanganan eksternal untuk implementasi hash khusus GroupDocs

🔐 Berikan Kebijakan Akses ke Azure Key Vault

Dalam langkah-langkah sebelumnya, kami telah membuat dan mendaftarkan aplikasi. Sekarang, kami perlu memberikan akses ke Azure Key Vault yang baru didaftarkan:

Langkah 1: Navigasikan ke Azure Key Vault, pilih Access Policies, dan klik Create.

Konfigurasi pengaturan kompatibilitas tanda tangan digital untuk persyaratan peraturan

Langkah 2: Pilih izin yang diperlukan dan klik Next.

Pendaftaran aplikasi Azure Active Directory untuk layanan penandatanganan PDF

Langkah 3: Di jendela ini, pilih aplikasi yang kami daftarkan sebelumnya, GroupDocs.Signature.Service, dan klik Create.

Diagram arsitektur layanan penandatanganan khusus yang menunjukkan hubungan komponen
Panel pengaturan penampilan GroupDocs Signature untuk kustomisasi visual tanda tangan

Aplikasi sekarang akan muncul di bagian Access Policies.

Proses verifikasi tanda tangan digital PDF yang menunjukkan langkah-langkah alur kerja verifikasi

📑 Cara menggunakan Azure Key Vault dengan GroupDocs.Signature for .NET Penandatanganan PDF

Panduan ini menjelaskan cara menandatangani dokumen PDF menggunakan API GroupDocs.Signature di .NET dengan penandatanganan hash khusus yang memanfaatkan Azure Key Vault. Kami akan memecah proses ini menjadi langkah-langkah yang jelas—dari mengonfigurasi lingkungan C# Anda hingga mengimplementasikan penandatangan hash khusus yang memenuhi persyaratan kompatibilitas tanda tangan digital.

Ringkasan Penandatanganan PDF Aman dengan Implementasi Hash Kustom

Pendekatan penandatanganan hash khusus menawarkan kefleksibilitas luar biasa untuk mengimplementasikan tanda tangan elektronik dokumen di aplikasi .NET Anda. Ini adalah apa yang akan kami sampaikan:

  • Setel aplikasi .NET Anda untuk bekerja dengan GroupDocs.Signature untuk penandatanganan digital PDF
  • Konfigurasi opsi penandatanganan digital profesional dengan manajemen sertifikat yang benar
  • Implementasikan mekanisme penandatanganan hash khusus untuk kefleksibilitas maksimum
  • Integrasikan Azure Key Vault untuk mengambil sertifikat publik secara aman dan menandatangani dokumen
  • Ikuti praktik keamanan terbaik sepanjang implementasi

Untuk latar belakang tambahan, silakan merujuk pada dokumentasi GroupDocs.Signature tentang penandatanganan digital dengan hash khusus.

🚀 Manfaat Penandatanganan Hash Kustom untuk Aplikasi PDF .NET

Sebelum mengeksplorasi implementasi, penting untuk memahami mengapa penandatanganan hash khusus mewakili kemajuan signifikan dalam teknologi tanda tangan digital:

  1. Integrasi dengan Perangkat Penandatanganan Eksternal: Penandatanganan hash khusus memungkinkan koneksi yang lancar dengan modul keamanan keras (HSMs), kartu cerdas, perangkat biometrik, dan perangkat kriptografi khusus lainnya yang organisasi Anda mungkin sudah menggunakan.
  2. Arsitektur Fleksibel untuk Solusi Perusahaan: Organisasi dapat menulis layanan penandatanganan sendiri yang berantara dengan infrastruktur yang ada, sistem legacy, atau solusi penandatanganan milik sambil mempertahankan kompatibilitas dengan GroupDocs.Signature.
  3. Kompatibilitas Keamanan yang Ditingkatkan: Dengan memisahkan pembuatan hash dari proses penandatanganan sebenarnya, Anda memiliki kendali yang lebih baik atas operasi kriptografi, membantu memenuhi persyaratan peraturan yang ketat seperti eIDAS, ESIGN Act, dan standar kompatibilitas industri tertentu.
  4. Dukungan untuk Manajemen Kunci Berbasis Cloud: Integrasi dengan Azure Key Vault memungkinkan sertifikat disimpan dan dikelola secara aman di infrastruktur yang disertifikasi Microsoft daripada pada mesin lokal.
  5. Kustomisasi Proses Penandatanganan: Implementasikan alur persetujuan kustom, urutan penandatanganan multi-partai, atau aturan validasi khusus yang melampaui implementasi tanda tangan digital standar.

Langkah 1. Mengonfigurasi Lingkungan Penandatanganan PDF C#

Mulai dengan mendefinisikan jalur file dan menginisialisasi objek GroupDocs.Signature di aplikasi C# Anda. Dalam contoh ini, kami menentukan file PDF sumber dan lokasi keluaran untuk dokumen yang ditandatangani.

public static void SignDocument()
{
    // Define paths for the source and output documents
    string sampleFilePath = "sample.pdf";
    string sampleOutputFilePath = "signed.pdf";

    using (Signature signature = new Signature(sampleFilePath))
    {
        // Code continues in the next steps...
    }
}

📌Anotasi:

Langkah ini membuat instance Signature baru yang memuat dokumen PDF yang ingin Anda tandatangani, menanamkan dasar untuk penandatanganan PDF aman di aplikasi .NET Anda.


Langkah 2. Mengonfigurasi Opsi Tanda Tangan Digital

Selanjutnya, setel opsi tanda tangan digital Anda. Opsi ini termasuk detail sertifikat, penampilan visual, dan algoritma hash. Penandatanganan hash khusus akan ditambahkan kemudian.

// Initialize digital signing options
DigitalSignOptions options = new DigitalSignOptions()
{
    Signature = new DigitalSignature(),
    Password = "1234567890",      // Password sertifikat
    Reason = "Sign",              // Alasan penandatanganan
    Contact = "JohnSmith",        // Informasi kontak
    Location = "Office1",         // Lokasi penandatanganan
    AllPages = true,              // Terapkan tanda tangan pada semua halaman
    Width = 80,
    Height = 60,
    VerticalAlignment = VerticalAlignment.Bottom,
    HorizontalAlignment = HorizontalAlignment.Right,
    Margin = new Padding() { Bottom = 10, Right = 10 },
    HashAlgorithm = HashAlgorithm.Sha256 // Spesifikasikan SHA-256 untuk hashing
};

📌Anotasi:

Konfigurasi properti tanda tangan digital dasar seperti penampilan, penempatan, dan hashing untuk memastikan tanda tangan elektronik dokumen Anda memenuhi standar profesional.

Catatan keamanan: Dalam produksi, hindari menuliskan nilai sensitif (seperti kata sandi); sebaliknya, gunakan metode konfigurasi aman yang sesuai dengan persyaratan kompatibilitas tanda tangan digital.


Langkah 3. Mengimplementasikan Penandatanganan Hash Kustom

Kemudian, tetapkan penandatangan hash khusus Anda ke opsi. Penandatangan kustom ini mengimplementasikan antarmuka ICustomSignHash dan akan digunakan untuk menandatangani hash dengan Azure Key Vault atau perangkat penandatanganan eksternal lainnya yang ingin Anda integrasikan.

var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();

📌Anotasi:

Di sini, instance AzureSigner dibuat. Metode CustomSignHashnya akan dipanggil selama proses penandatanganan, dan ia juga mengambil sertifikat publik dari Azure Key Vault.


Langkah 4. Menandatangani Dokumen

Akhirnya, panggil metode Sign untuk menghasilkan dokumen PDF yang ditandatangani menggunakan implementasi penandatanganan hash khusus Anda.

signature.Sign(sampleOutputFilePath, options);

📌Anotasi:

Metode ini menerapkan tanda tangan digital Anda ke dokumen menggunakan opsi yang dikonfigurasi sebelumnya, termasuk penandatangan hash khusus Anda. PDF hasilnya akan mengandung tanda tangan yang aman kriptografis yang dapat diverifikasi menggunakan pembaca PDF standar atau secara programatis dengan fitur validasi GroupDocs.Signature.


Langkah 5. Implementasi Lengkap Penandatanganan Sertifikat Azure

Berikut adalah implementasi lengkap penandatangan kustom menggunakan Azure Key Vault untuk penandatanganan sertifikat Azure. Kelas ini menunjukkan praktik penandatanganan sertifikat Azure profesional dengan mengambil kredensial Azure, mengambil sertifikat publik, dan menandatangani dokumen hash secara aman.

public class AzureSigner : ICustomSignHash
{
    public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
     SignatureContext signatureContext)
    {
        // Delegate the signing operation to Azure
        return SignWithAzure(hash);
    }

    private static byte[] SignWithAzure(byte[] signableHash)
    {
        // Retrieve Azure credentials
        var credential = GetAzureSecretCredential();

        // Specify your Key Vault certificate key identifier
        var certificateKeyId =
        "https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
        CryptographyClient client =
            new CryptographyClient(new Uri(certificateKeyId), credential);

        // Sign the hash using RS256
        var result = client.Sign(SignatureAlgorithm.RS256, signableHash);
        return result.Signature;
    }

    static ClientSecretCredential GetAzureSecretCredential()
    {
        // Provide your Azure AD tenant, client, and secret details
        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()
    {
        // Define the Key Vault URI
        string vaultUri = "https://groupdocskeyvault.vault.azure.net/>";
        var credential  = GetAzureSecretCredential();
        X509Certificate2 pubCertificate =
        GetPublicCertificateFromAzureStorage(credential, vaultUri);
        return pubCertificate;
    }

    static X509Certificate2 GetPublicCertificateFromAzureStorage(
        ClientSecretCredential credential, string uri)
    {
        // Create a certificate client for the Key Vault
        CertificateClient certificateClient =
            new CertificateClient(new Uri(uri), credential);

        // Retrieve the certificate with the public key
        KeyVaultCertificateWithPolicy certificate =
        certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
        return new X509Certificate2(certificate.Cer);
    }
}

📌Anotasi:

  • Kredensial Azure: Metode GetAzureSecretCredential membuat kredensial menggunakan tenant ID, client ID, dan rahasia Anda. Catatan keamanan: Pastikan Anda menyimpan kredensial ini secara aman (misalnya, menggunakan Azure Key Vault atau penyimpanan konfigurasi aman) untuk mempertahankan integritas implementasi penandatanganan PDF .NET Anda.
  • Penandatanganan dengan Azure: Metode SignWithAzure menggunakan CryptographyClient dari SDK Azure untuk menandatangani hash dengan sertifikat yang disimpan di Azure Key Vault, menunjukkan pendekatan profesional terhadap manajemen sertifikat yang mengikuti praktik terbaik kompatibilitas tanda tangan digital.
  • Pengambilan Sertifikat Publik: Metode GetPublicCertificateFromAzureStorage menghubungkan ke Azure Key Vault Anda dan mengambil sertifikat yang diperlukan untuk verifikasi tanda tangan, memastikan tanda tangan elektronik dokumen Anda dapat diverifikasi dengan benar.

Langkah 6. Langkah-langkah Implementasi Azure Key Vault untuk Tanda Tangan Digital PDF

Untuk mengintegrasikan Azure Key Vault dengan layanan penandatanganan kustom Anda, ikuti langkah-langkah berikut:

  1. Setel Azure Key Vault: Buat instance Azure Key Vault. Unggah sertifikat penandatanganan Anda ke Key Vault. Konfigurasi kebijakan akses untuk aplikasi Anda.
  2. Konfigurasi Kredensial Azure: Daftarkan aplikasi Anda di Azure Active Directory. Ambil tenant ID, client ID, dan client secret Anda. Buat ClientSecretCredential untuk mengakses Key Vault.
  3. Ambil Sertifikat: Gunakan CertificateClient untuk mengambil sertifikat yang berisi kunci publik dari Azure Key Vault. Sertifikat ini digunakan untuk memverifikasi tanda tangan digital.
  4. Implementasikan Penandatanganan Kustom: Gunakan CryptographyClient dari SDK Azure untuk menandatangani hash dokumen. Spesifikasikan algoritma tanda tangan yang sesuai (misalnya, RS256).

📌Anotasi:

Setiap langkah ini kritis untuk memastikan bahwa proses penandatanganan Anda aman dan kunci sensitif tetap terlindungi di cloud sambil menawarkan kefleksibilitas untuk mengimplementasikan layanan penandatanganan sendiri untuk persyaratan khusus.


🧩 Memperluas Implementasi Penandatanganan Kustom Anda

Kelebihan pendekatan penandatanganan hash khusus GroupDocs.Signature adalah Anda dapat mengadaptasinya untuk bekerja dengan hampir semua perangkat penandatanganan eksternal atau layanan. Berikut adalah beberapa contoh cara Anda mungkin memperluas implementasi ini:

  1. Modul Keamanan Keras (HSMs): Implementasikan penandatangan kustom yang berkomunikasi dengan HSM fisik untuk keamanan maksimum.
  2. Integrasi Kartu Cerdas: Buat penandatangan yang berantara dengan pembaca kartu cerdas untuk lingkungan perusahaan yang memerlukan otentikasi fisik.
  3. Otentikasi Biometrik: Bangun layanan penandatangan yang memerlukan sidik jari atau pengenalan wajah sebelum mengotorisasi pembuatan tanda tangan.
  4. Persetujuan Multi-Partai: Implementasikan alur penandatanganan kustom di mana beberapa pihak harus menyetujui sebelum tanda tangan akhir diterapkan.
  5. Penyedia Layanan Cloud: Adaptasikan contoh ini untuk bekerja dengan AWS KMS, Google Cloud KMS, atau layanan manajemen kunci cloud lainnya.

Dengan mengimplementasikan layanan penandatanganan sendiri melalui antarmuka ICustomSignHash, Anda mempertahankan kendali penuh atas operasi kriptografi Anda sambil memanfaatkan kemampuan penanganan dokumen yang kuat dari GroupDocs.Signature for .NET.


✨ Pikiran Akhir tentang Tanda Tangan Elektronik Dokumen

Panduan ini menunjukkan cara mengintegrasikan GroupDocs.Signature dengan Azure Key Vault untuk membuat tanda tangan elektronik dokumen yang kompatibel untuk file PDF secara aman. Tanda tangan elektronik dokumen yang dibuat melalui metode ini memenuhi standar industri untuk keaslian dan integritas. Dengan mengikuti pendekatan langkah demi langkah ini dan mematuhi praktik keamanan terbaik (seperti penanganan kredensial aman), Anda dapat mengimplementasikan solusi penandatanganan digital yang kuat di aplikasi .NET Anda yang bekerja di seluruh alur kerja dokumen Anda.

Untuk detail lebih lanjut dan skenario lanjutan, lihat dokumentasi resmi.


Dapatkan Percobaan Gratis

Anda dapat mencoba API GroupDocs.Signature secara gratis hanya dengan mengunduh dan menginstal versi terbaru di situs web release downloads.

Anda juga dapat mendapatkan lisensi sementara untuk menguji semua fungsi library tanpa batasan. Kunjungi halaman temporary license untuk memohon lisensi sementara.

🔗 Lihat Juga

Untuk informasi lebih lanjut dan sumber daya tambahan, Anda mungkin menemukan tautan berikut berguna: