Konten

Pendahuluan

Berkas 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 penandaan 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 regulasi. Apakah Anda baru dalam penandaan PDF di aplikasi .NET atau ingin meningkatkan implementasi yang 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 penandaan PDF yang kuat dan aman yang memungkinkan pengembang untuk secara programatis menerapkan tanda tangan digital ke berkas 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 tanda tangan hash khusus, yang menawarkan fleksibilitas luar biasa untuk alur kerja penandaan Anda. Pendekatan ini memungkinkan Anda untuk menghubungkan perangkat penandaan eksternal seperti modul keamanan keras (HSMs), kartu cerdas, atau perangkat kriptografi lainnya ke aplikasi Anda. Dengan tanda tangan hash khusus, pengembang dapat menulis layanan penandaan sendiri yang beranting dengan sistem milik, infrastruktur legacy, atau perangkat keamanan khusus sambil mempertahankan kompatibilitas dengan kerangka GroupDocs.Signature. Ini menjadikannya solusi ideal untuk organisasi dengan persyaratan keamanan khusus atau investasi yang ada dalam infrastruktur kriptografi.

🔐 Buat Azure key vault dan sertifikat

Mari mulai dengan menyiapkan 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 trial 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 penandaan 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 penandaan PDF digital GroupDocs .NET dengan Azure Key Vault

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

Contoh kode C# implementasi tanda tangan hash khusus dengan GroupDocs.Signature

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

Diagram proses penandaan sertifikat Azure yang menunjukkan aliran data antara komponen

Langkah 5: 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 penandaan 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 finalisasi proses dengan klik Add Permissions.

Contoh keluaran penandaan PDF .NET yang menunjukkan dokumen yang ditandatangani dengan sukses

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 penandaan eksternal untuk implementasi hash khusus GroupDocs

🔐 Tugaskan 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 penandaan PDF

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

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

Aplikasi sekarang akan muncul di bagian Access Policies.

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

✍️ Cara menggunakan Azure Key Vault dengan GroupDocs.Signature untuk Penandaan PDF .NET

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

Ringkasan Penandaan PDF Aman dengan Implementasi Hash Kustom

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

  • Siapkan aplikasi .NET Anda untuk bekerja dengan GroupDocs.Signature untuk tanda tangan digital PDF
  • Konfigurasi opsi penandaan profesional dengan manajemen sertifikat yang tepat
  • Implementasikan mekanisme tanda tangan hash khusus untuk fleksibilitas 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 penandaan digital dengan hash khusus.

🚀 Manfaat Tanda Tangani Hash Kustom untuk Aplikasi PDF .NET

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

  1. Integrasi dengan Perangkat Penandaan Eksternal: Tanda tangan 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 penandaan sendiri yang beranting dengan infrastruktur yang ada, sistem legacy, atau solusi penandaan milik sambil mempertahankan kompatibilitas dengan GroupDocs.Signature.
  3. Kompatibilitas Keamanan yang Ditingkatkan: Dengan memisahkan pembuatan hash dari proses penandaan sebenarnya, Anda mempertahankan 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 di mesin lokal.
  5. Kustomisasi Proses Penandaan: Implementasikan alur persetujuan kustom, urutan penandaan multi-partai, atau aturan validasi khusus yang melebihi implementasi tanda tangan digital standar.

Langkah 1. Konfigurasi Lingkungan Penandaan PDF C#

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

public static void SignDocument()
{
    // Definisikan jalur untuk dokumen sumber dan keluaran
    string sampleFilePath = "sample.pdf";
    string sampleOutputFilePath = "signed.pdf";

    using (Signature signature = new Signature(sampleFilePath))
    {
        // Kode lanjut di langkah-langkah berikutnya...
    }
}

📌Catatan:

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


Langkah 2. Konfigurasi Opsi Tanda Tangani Digital

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

// Inisialisasi opsi penandaan digital
DigitalSignOptions options = new DigitalSignOptions()
{
    Signature = new DigitalSignature(),
    Password = "1234567890",      // Kata sandi sertifikat
    Reason = "Sign",              // Alasan penandaan
    Contact = "JohnSmith",        // Informasi kontak
    Location = "Office1",         // Lokasi penandaan
    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 // Tentukan SHA-256 untuk hashing
};

📌Catatan:

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 hardcoding nilai sensitif (seperti kata sandi); sebaliknya, gunakan metode konfigurasi aman yang sesuai dengan persyaratan kompatibilitas tanda tangan digital.


Langkah 3. Implementasi Tanda Tangani Hash Kustom

Kemudian, tugaskan penanda hash khusus Anda ke opsi. Penanda kustom ini mengimplementasikan antarmuka ICustomSignHash dan akan digunakan untuk menandatangani hash dengan Azure Key Vault atau perangkat penandaan eksternal lainnya yang Anda ingin integrasikan.

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

📌Catatan:

Di sini, instance AzureSigner dibuat. Metode CustomSignHashnya akan dipanggil selama proses penandaan, 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 tanda tangan hash khusus Anda.

signature.Sign(sampleOutputFilePath, options);

📌Catatan:

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


Langkah 5. Implementasi Lengkap Penandaan Sertifikat Azure

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

public class AzureSigner : ICustomSignHash
{
    public byte[] CustomSignHash(byte[] hash, HashAlgorithm hashAlgorithm,
     SignatureContext signatureContext)
    {
        // Delegate operasi penandaan ke Azure
        return SignWithAzure(hash);
    }

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

        // Tentukan identifikasi kunci sertifikat Key Vault Anda
        var certificateKeyId =
        "https://groupdocskeyvault.vault.azure.net/keys/GroupDocsSignatureCertificate/>";
        CryptographyClient client =
            new CryptographyClient(new Uri(certificateKeyId), credential);

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

    static ClientSecretCredential GetAzureSecretCredential()
    {
        // Berikan detail tenant, client, dan rahasia Azure AD Anda
        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()
    {
        // Definisikan URI Key Vault
        string vaultUri = "https://groupdocskeyvault.vault.azure.net/>";
        var credential  = GetAzureSecretCredential();
        X509Certificate2 pubCertificate =
        GetPublicCertificateFromAzureStorage(credential, vaultUri);
        return pubCertificate;
    }

    static X509Certificate2 GetPublicCertificateFromAzureStorage(
        ClientSecretCredential credential, string uri)
    {
        // Buat client sertifikat untuk Key Vault
        CertificateClient certificateClient =
            new CertificateClient(new Uri(uri), credential);

        // Ambil sertifikat dengan kunci publik
        KeyVaultCertificateWithPolicy certificate =
        certificateClient.GetCertificateAsync("GroupDocsSignatureCertificate").Result;
        return new X509Certificate2(certificate.Cer);
    }
}

📌Catatan:

  • 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 penandaan PDF .NET Anda.
  • Penandaan 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 ini 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 Tangani Digital PDF

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

  1. Siapkan Azure Key Vault:
    • Buat instance Azure Key Vault.
    • Unggah sertifikat penandaan 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. Implementasi Penandaan Kustom:
    • Gunakan CryptographyClient SDK Azure untuk menandatangani hash dokumen.
    • Tentukan algoritma tanda tangan yang sesuai (misalnya, RS256).

📌Catatan:

Setiap langkah ini kritis untuk memastikan bahwa proses penandaan Anda aman dan kunci sensitif tetap dilindungi di cloud sambil menawarkan fleksibilitas untuk mengimplementasikan layanan penandaan sendiri untuk kebutuhan khusus.


🧩 Meningkatkan Implementasi Penandaan Kustom Anda

Keindahan pendekatan tanda tangan hash khusus GroupDocs.Signature adalah Anda dapat mengadaptasinya untuk bekerja dengan hampir perangkat penandaan eksternal atau layanan mana pun. Berikut adalah beberapa contoh cara Anda mungkin memperluas implementasi ini:

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

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


✨ Pemikiran Akhir tentang Tanda Tangani Elektronik Dokumen

Panduan ini menunjukkan cara mengintegrasikan GroupDocs.Signature dengan Azure Key Vault untuk membuat tanda tangan elektronik dokumen yang kompatibel untuk berkas 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 mengamati praktik keamanan terbaik (seperti penanganan kredensial aman), Anda dapat mengimplementasikan solusi penandaan digital yang kuat di aplikasi .NET Anda yang bekerja di seluruh alur kerja dokumen Anda.

Untuk detail lebih lanjut dan skenario lanjutan, silakan konsultasikan dokumentasi resmi.


Dapatkan Trial 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-tautan berikut berguna: