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.

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.

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

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

Langkah 5: Akhirnya, klik Buat. Sertifikat sekarang akan ditambahkan ke key vault Anda.
Untuk melihat detailnya, cukup klik sertifikat untuk membuka propertinya.

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

Langkah 2: Masukkan nama aplikasi Anda dan daftarkan.

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

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.

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

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

Langkah 2: Pilih izin yang diperlukan dan klik Next.

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


Aplikasi sekarang akan muncul di bagian Access Policies.

📑 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:
- 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.
- 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.
- 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.
- 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.
- 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 CustomSignHash
nya 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:
- Setel Azure Key Vault: Buat instance Azure Key Vault. Unggah sertifikat penandatanganan Anda ke Key Vault. Konfigurasi kebijakan akses untuk aplikasi Anda.
- 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. - Ambil Sertifikat: Gunakan
CertificateClient
untuk mengambil sertifikat yang berisi kunci publik dari Azure Key Vault. Sertifikat ini digunakan untuk memverifikasi tanda tangan digital. - 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:
- Modul Keamanan Keras (HSMs): Implementasikan penandatangan kustom yang berkomunikasi dengan HSM fisik untuk keamanan maksimum.
- Integrasi Kartu Cerdas: Buat penandatangan yang berantara dengan pembaca kartu cerdas untuk lingkungan perusahaan yang memerlukan otentikasi fisik.
- Otentikasi Biometrik: Bangun layanan penandatangan yang memerlukan sidik jari atau pengenalan wajah sebelum mengotorisasi pembuatan tanda tangan.
- Persetujuan Multi-Partai: Implementasikan alur penandatanganan kustom di mana beberapa pihak harus menyetujui sebelum tanda tangan akhir diterapkan.
- 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: