Konten
- Pendahuluan tentang Penandaan PDF .NET
- Menyiapkan Azure Key Vault untuk Tanda Tangani Digital PDF
- Mendaftarkan Aplikasi Anda untuk Akses Azure Key Vault
- Menugaskan Kebijakan Akses ke Azure Key Vault
- Mengimplementasikan Tanda Tangani Digital PDF C# dengan GroupDocs.Signature
- Panduan Integrasi Langkah demi Langkah
- Kesimpulan
- Dapatkan Trial Gratis
- Lihat juga
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.

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 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: 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 finalisasi 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.

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

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 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:
- 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.
- 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.
- 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.
- 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.
- 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 CustomSignHash
nya 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:
- Siapkan Azure Key Vault:
- Buat instance Azure Key Vault.
- Unggah sertifikat penandaan 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.
- Gunakan
- 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:
- Modul Keamanan Keras (HSMs): Implementasikan penanda kustom yang berkomunikasi dengan HSM fisik untuk keamanan maksimum.
- Integrasi Kartu Cerdas: Buat penanda yang beranting dengan pembaca kartu cerdas untuk lingkungan perusahaan yang memerlukan otentikasi fisik.
- Otentikasi Biometrik: Bangun layanan penandaan yang memerlukan sidik jari atau pengenalan wajah sebelum mengotorisasi pembuatan tanda tangan.
- Persetujuan Multi-Partai: Implementasikan alur penandaan kustom di mana beberapa pihak harus menyetujui sebelum tanda tangan akhir diterapkan.
- 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: