Pendahuluan
File PDF sangat penting di berbagai industri, dan memastikan keaslian serta integritasnya melalui tanda tangan digital merupakan langkah keamanan yang kritis. Tanda tangan digital memberikan keabsahan hukum dan melindungi dokumen dari manipulasi. Panduan komprehensif ini akan memandu Anda dalam mengimplementasikan .NET PDF signing dengan membuat layanan tanda tangan digital PDF yang aman menggunakan Azure Key Vault dan GroupDocs.Signature untuk .NET.
Tanda tangan dokumen elektronik semakin penting bagi bisnis yang beralih ke alur kerja tanpa kertas. GroupDocs.Signature untuk .NET menawarkan solusi tanda tangan digital PDF C# yang kuat dan memenuhi persyaratan kepatuhan tanda tangan digital di berbagai kerangka regulasi. Baik Anda baru dalam PDF signing di aplikasi .NET maupun ingin meningkatkan implementasi yang ada, tutorial ini mencakup semua yang perlu Anda ketahui.
Azure Key Vault adalah layanan manajemen kunci berbasis cloud yang memungkinkan penyimpanan dan pengelolaan kunci kriptografi serta sertifikat secara aman. GroupDocs.Signature untuk .NET adalah API penandatanganan PDF yang kuat dan aman yang memungkinkan pengembang menerapkan tanda tangan digital ke file PDF secara programatis. Dengan mengintegrasikan kedua teknologi ini, Anda dapat membangun layanan tanda tangan digital PDF yang tangguh dan efisien.
Salah satu fitur paling kuat yang akan kami jelajahi adalah custom hash signing, yang memberikan fleksibilitas luar biasa untuk alur kerja penandatanganan Anda. Pendekatan ini memungkinkan Anda menghubungkan perangkat penandatangan eksternal seperti hardware security modules (HSM), smart card, atau perangkat kriptografi lainnya ke aplikasi Anda. Dengan custom hash signing, pengembang dapat menulis layanan tanda tangan mereka sendiri yang berinteraksi dengan sistem proprietari, infrastruktur legacy, atau perangkat keamanan khusus sambil tetap kompatibel dengan kerangka kerja 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 kita mulai dengan menyiapkan Azure Key Vault dan menghasilkan sertifikat.
Langkah 1: Provision the Key Vault
Buat sumber daya Azure Key Vault baru menggunakan Azure portal. Untuk petunjuk detail, silakan lihat quick-start guide.
💡Jika Anda belum memiliki langganan Azure aktif, Anda dapat mendaftar untuk percobaan gratis 1 bulan untuk memulai.
Langkah 2: Generate or Import Your Certificate
Setelah key vault Anda aktif, buka dashboardnya, pilih tab Certificates, dan klik Generate/Import untuk menambahkan sertifikat Anda.
Langkah 3: Pada bidang Method of Certificate Creation, pilih Generate untuk secara otomatis membuat sertifikat baru. Pada contoh ini, kami memilih Self-signed certificate sebagai tipe otoritas sertifikat.
Catatan: Jika Anda lebih suka menggunakan sertifikat yang sudah ada, Anda dapat memilih Import untuk memuatnya dari perangkat lokal Anda.
Langkah 4: Selanjutnya, buka Advanced Policy Configuration dan atur opsi Private Key Export ke No.
Langkah 5: Finally, click Create. Sertifikat kini akan ditambahkan ke key vault Anda.
Untuk melihat detailnya, cukup klik pada sertifikat untuk membuka propertinya.
⚙️ Daftarkan aplikasi untuk mengaktifkan akses ke Azure Key Vault
Agar Web API dapat mengakses Azure Key Vault, Anda perlu mendaftarkannya di Azure Active Directory:
Langkah 1: Buka Azure Active Directory, pilih App registrations, dan klik New registration.
Langkah 2: Masukkan nama aplikasi Anda dan lakukan pendaftaran.
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 mengklik 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.
🔐 Tetapkan Access Policy ke Azure Key Vault
Pada langkah sebelumnya, kami telah membuat dan mendaftarkan aplikasi. Sekarang, kita perlu memberikan aplikasi yang baru didaftarkan akses ke Azure Key Vault:
Langkah 1: Buka Azure Key Vault, pilih Access Policies, dan klik Create.
Langkah 2: Pilih izin yang diperlukan dan klik Next.
Langkah 3: Pada jendela ini, pilih aplikasi yang kami daftarkan sebelumnya, GroupDocs.Signature.Service, dan klik Create.
Aplikasi kini akan muncul di bagian Access Policies.
📑 Cara menggunakan Azure Key Vault dengan GroupDocs.Signature untuk .NET PDF Signing
Panduan komprehensif ini menjelaskan cara menandatangani dokumen PDF menggunakan API GroupDocs.Signature di .NET dengan custom hash signing yang memanfaatkan Azure Key Vault. Kami akan memecah proses menjadi langkah‑langkah jelas—dari mengonfigurasi lingkungan C# Anda hingga mengimplementasikan custom hash signer yang memenuhi persyaratan kepatuhan tanda tangan digital.
Gambaran Umum Penandatanganan PDF Aman dengan Implementasi Custom Hash
Pendekatan custom hash signing menawarkan fleksibilitas luar biasa untuk mengimplementasikan tanda tangan dokumen elektronik di aplikasi .NET Anda. Berikut yang akan kami bahas:
- Menyiapkan aplikasi .NET Anda untuk bekerja dengan GroupDocs.Signature untuk tanda tangan digital PDF
- Mengonfigurasi opsi penandatanganan digital profesional dengan manajemen sertifikat yang tepat
- Mengimplementasikan mekanisme custom hash signing untuk fleksibilitas maksimal
- Mengintegrasikan Azure Key Vault untuk secara aman mengambil sertifikat publik dan menandatangani dokumen
- Mengikuti praktik keamanan terbaik sepanjang implementasi
Untuk latar belakang tambahan, lihat GroupDocs.Signature documentation on digital signing with custom hash.
🚀Manfaat Custom Hash Signing untuk Aplikasi PDF .NET
Sebelum masuk ke implementasi, penting memahami mengapa custom hash signing merupakan kemajuan signifikan dalam teknologi tanda tangan digital:
- Integrasi dengan Perangkat Penandatangan Eksternal: Custom hash signing memungkinkan koneksi mulus dengan hardware security modules (HSM), smart card, perangkat biometrik, dan perangkat kriptografi khusus lainnya yang mungkin sudah digunakan organisasi Anda.
- Arsitektur Fleksibel untuk Solusi Enterprise: Organisasi dapat menulis layanan tanda tangan mereka sendiri yang berinteraksi dengan infrastruktur yang ada, sistem legacy, atau solusi penandatangan proprietari sambil tetap kompatibel dengan GroupDocs.Signature.
- Kepatuhan Keamanan yang Ditingkatkan: Dengan memisahkan pembuatan hash dari proses penandatanganan sebenarnya, Anda memiliki kontrol lebih baik atas operasi kriptografi, membantu memenuhi persyaratan regulasi ketat seperti eIDAS, ESIGN Act, dan standar kepatuhan industri.
- Dukungan untuk Manajemen Kunci Berbasis Cloud: Integrasi dengan Azure Key Vault memungkinkan sertifikat disimpan dan dikelola secara aman di infrastruktur Microsoft yang bersertifikat, bukan di mesin lokal.
- Kustomisasi Proses Tanda Tangan: Implementasikan alur kerja persetujuan khusus, urutan penandatanganan multi‑pihak, atau aturan validasi khusus yang melampaui implementasi tanda tangan digital standar.
Langkah 1. Mengonfigurasi Lingkungan C# PDF Digital Signature
Mulailah dengan mendefinisikan jalur file dan menginisialisasi objek GroupDocs.Signature di aplikasi C# Anda. Pada contoh ini, kami menentukan file PDF sumber dan lokasi output 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...
}
}
📌Annotation:
Langkah ini membuat instance Signature baru yang memuat dokumen PDF yang ingin Anda tandatangani, membangun fondasi untuk penandatanganan PDF yang aman di aplikasi .NET Anda.
Langkah 2. Mengonfigurasi Opsi Tanda Tangan Digital
Selanjutnya, atur opsi tanda tangan digital Anda. Opsi ini mencakup detail sertifikat, tampilan visual, dan algoritma hash. Custom hash signing akan dipasang nanti.
// Initialize digital signing options
DigitalSignOptions options = new DigitalSignOptions()
{
Signature = new DigitalSignature(),
Password = "1234567890", // Certificate password
Reason = "Sign", // Signing reason
Contact = "JohnSmith", // Contact information
Location = "Office1", // Signing location
AllPages = true, // Apply signature on all pages
Width = 80,
Height = 60,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Padding() { Bottom = 10, Right = 10 },
HashAlgorithm = HashAlgorithm.Sha256 // Specify SHA-256 for hashing
};
📌Annotation:
Konfigurasikan properti dasar tanda tangan digital seperti tampilan, posisi, dan hashing untuk memastikan tanda tangan dokumen elektronik Anda memenuhi standar profesional.
Security note: Dalam produksi, hindari menuliskan nilai sensitif (seperti password) secara hard‑code; gunakan metode konfigurasi aman yang konsisten dengan persyaratan kepatuhan tanda tangan digital.
Langkah 3. Mengimplementasikan Custom Hash Signing
Sekarang, tetapkan custom hash signer ke opsi. Signer khusus ini mengimplementasikan antarmuka ICustomSignHash dan akan digunakan untuk menandatangani hash dengan Azure Key Vault atau perangkat penandatangan eksternal lainnya yang ingin Anda integrasikan.
var azureSigner = new AzureSigner();
options.CustomSignHash = azureSigner;
options.Signature.Certificate = azureSigner.GetPublicCertificateFromAzureStorage();
📌Annotation:
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 custom hash signing Anda.
signature.Sign(sampleOutputFilePath, options);
📌Annotation:
Metode ini menerapkan tanda tangan digital Anda ke dokumen menggunakan opsi yang telah dikonfigurasi sebelumnya, termasuk custom hash signer. PDF yang dihasilkan akan berisi tanda tangan kriptografis yang dapat divalidasi menggunakan pembaca PDF standar atau secara programatis dengan fitur validasi GroupDocs.Signature.
Langkah 5. Implementasi Detail Azure Certificate Signing
Berikut adalah implementasi lengkap signer khusus yang menggunakan Azure Key Vault untuk penandatanganan sertifikat Azure. Kelas ini menunjukkan praktik profesional penandatanganan sertifikat Azure 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 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);
}
}
📌Annotations:
- Azure Credentials:
MetodeGetAzureSecretCredentialmembuat kredensial menggunakan tenant ID, client ID, dan secret Anda. Catatan keamanan: Pastikan kredensial ini disimpan secara aman (misalnya, menggunakan Azure Key Vault atau penyimpanan konfigurasi yang aman) untuk menjaga integritas implementasi .NET PDF signing Anda. - Signing with Azure:
MetodeSignWithAzuremenggunakanCryptographyClientdari Azure SDK untuk menandatangani hash dengan sertifikat yang disimpan di Azure Key Vault, menunjukkan pendekatan profesional dalam manajemen sertifikat yang mengikuti praktik terbaik kepatuhan tanda tangan digital. - Public Certificate Retrieval:
MetodeGetPublicCertificateFromAzureStorageterhubung ke Azure Key Vault Anda dan mengambil sertifikat yang diperlukan untuk verifikasi tanda tangan, memastikan tanda tangan dokumen elektronik dapat divalidasi dengan tepat.
Langkah 6. Langkah Implementasi Azure Key Vault untuk Tanda Tangan Digital PDF
Untuk mengintegrasikan Azure Key Vault dengan layanan tanda tangan khusus Anda, ikuti langkah‑langkah berikut:
- Setup Azure Key Vault:
- Buat instance Azure Key Vault.
- Unggah sertifikat penandatanganan Anda ke Key Vault.
- Konfigurasikan kebijakan akses untuk aplikasi Anda.
- Configure Azure Credentials:
- Daftarkan aplikasi Anda di Azure Active Directory.
- Dapatkan tenant ID, client ID, dan client secret Anda.
- Buat
ClientSecretCredentialuntuk mengakses Key Vault.
- Retrieve the Certificate:
- Gunakan
CertificateClientuntuk mengambil sertifikat yang berisi kunci publik dari Azure Key Vault. - Sertifikat ini digunakan untuk memverifikasi tanda tangan digital.
- Gunakan
- Implement Custom Signing:
- Gunakan
CryptographyClientdari Azure SDK untuk menandatangani hash dokumen. - Tentukan algoritma tanda tangan yang sesuai (misalnya RS256).
- Gunakan
📌Annotation:
Setiap langkah ini penting untuk memastikan proses penandatanganan Anda aman dan kunci sensitif tetap terlindungi di cloud, sambil menawarkan fleksibilitas untuk mengimplementasikan layanan tanda tangan Anda sendiri sesuai kebutuhan khusus.
🧩 Memperluas Implementasi Custom Signing Anda
Keindahan pendekatan custom hash signing pada GroupDocs.Signature adalah Anda dapat menyesuaikannya untuk bekerja dengan hampir semua perangkat atau layanan penandatangan eksternal. Berikut beberapa contoh cara memperluas implementasi ini:
- Hardware Security Modules (HSMs): Implementasikan signer khusus yang berkomunikasi dengan HSM fisik untuk keamanan maksimal.
- Integrasi Smart Card: Buat signer yang berinteraksi dengan pembaca smart card untuk lingkungan korporat yang memerlukan autentikasi fisik.
- Autentikasi Biometrik: Bangun layanan penandatanganan yang memerlukan sidik jari atau pengenalan wajah sebelum mengotorisasi pembuatan tanda tangan.
- Persetujuan Multi‑Pihak: Implementasikan alur kerja penandatanganan khusus di mana beberapa pihak harus menyetujui sebelum tanda tangan akhir diterapkan.
- Penyedia Layanan Cloud: Sesuaikan contoh ini untuk bekerja dengan AWS KMS, Google Cloud KMS, atau layanan manajemen kunci cloud lainnya.
Dengan mengimplementasikan layanan tanda tangan Anda sendiri melalui antarmuka ICustomSignHash, Anda mempertahankan kontrol penuh atas operasi kriptografi sambil memanfaatkan kemampuan penanganan dokumen yang kuat dari GroupDocs.Signature untuk .NET.
✨ Pemikiran Akhir tentang Tanda Tangan Dokumen Elektronik
Panduan ini menunjukkan cara mengintegrasikan GroupDocs.Signature dengan Azure Key Vault untuk menciptakan tanda tangan dokumen elektronik yang patuh pada standar industri untuk file PDF secara aman. Tanda tangan dokumen elektronik yang dibuat dengan metode ini memenuhi standar autentikasi dan integritas. Dengan mengikuti pendekatan langkah‑demi‑langkah ini dan menerapkan praktik keamanan terbaik (seperti penanganan kredensial yang aman), Anda dapat membangun solusi penandatanganan digital yang kuat dalam aplikasi .NET Anda yang berfungsi di seluruh alur kerja dokumen.
Untuk detail lebih lanjut dan skenario lanjutan, lihat official documentation.
Dapatkan Versi Percobaan Gratis
Anda dapat mencoba API GroupDocs.Signature secara gratis hanya dengan mengunduh dan menginstal versi terbaru di situs release downloads website.
Anda juga dapat memperoleh lisensi sementara untuk menguji semua fungsionalitas perpustakaan tanpa batasan. Kunjungi temporary license page untuk mengajukan permohonan lisensi sementara.
🔗 Lihat Juga
Untuk informasi lebih lanjut dan sumber daya tambahan, Anda mungkin menemukan tautan berikut berguna: