Keselamatan dan Tandatangan

Keselamatan dan Tandatangan

Keselamatan dan Tandatangan

Aspose.PDF FOSS for .NET menyokong tandatangan digital PDF, penyulitan berasaskan sijil, dan pengendali keselamatan tersuai. Gunakan PdfSigner untuk aliran kerja penandatanganan dan PdfCertificate untuk pengurusan sijil.


Menandatangani dokumen

PdfSigner menerapkan tandatangan digital pada PDF menggunakan sijil PFX.

var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");

Mengesahkan tandatangan

var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");

Menandatangani dengan penampilan visual

signer.SignWithAppearance(doc, cert, signatureField, appearance);

Pengurusan sijil

PdfCertificate memuatkan sijil daripada fail PFX atau fail yang dienkod DER.

// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");

// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");

Penyulitan berasaskan sijil

CertificateEncryptionOptions menyulitkan PDF supaya hanya pemegang sijil yang ditentukan dapat membukanya.

var options = new CertificateEncryptionOptions(cert);

Pengendali keselamatan tersuai

Laksanakan ICustomSecurityHandler untuk logik penyulitan dan penyahkodan tersuai.

public class MyHandler : ICustomSecurityHandler
{
    public void Initialize(EncryptionParameters parameters) { }
    public byte[] CalculateEncryptionKey() { /* ... */ return Array.Empty<byte>(); }
    public byte[] GetUserKey() { /* ... */ return Array.Empty<byte>(); }
    public byte[] GetOwnerKey() { /* ... */ return Array.Empty<byte>(); }
    public bool IsOwnerPassword(string password) { /* ... */ return false; }
    public bool IsUserPassword(string password) { /* ... */ return false; }
}

Maklumat algoritma tandatangan

SignatureAlgorithmInfo menerangkan algoritma yang digunakan dalam tandatangan sedia ada.

var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());

Petua dan Amalan Terbaik

  • Sentiasa tandatangani dokumen sebagai langkah terakhir — sebarang pengubahsuaian selepas penandatanganan akan membatalkan tandatangan.
  • Gunakan fail PFX dengan kata laluan yang kuat untuk penyimpanan sijil.
  • Sahkan tandatangan selepas memuatkan dokumen untuk mengesan gangguan.
  • Penyulitan berasaskan sijil memerlukan sijil kunci awam penerima.
  • Laksanakan ICustomSecurityHandler hanya apabila penyulitan standard tidak mencukupi.

Isu Umum

IsuPuncaPenyelesaian
Tandatangan dipaparkan tidak sahDokumen diubah selepas penandatangananTandatangan semula selepas semua pengubahsuaian selesai
Pemuatkan PFX gagalKata laluan salah atau fail rosakSahkan kata laluan dan integriti fail
Penyulitan menghalang pembukaanKata laluan pemilik tidak diberikanGunakan kata laluan pemilik atau pengguna yang betul

Soalan Lazim

Apakah algoritma tandatangan yang disokong?

RSA dengan SHA-256, SHA-384, dan SHA-512 biasanya disokong. Algoritma yang tersedia bergantung pada jenis kunci sijil.

Bolehkah saya menambah berbilang tandatangan?

Ya. Setiap tandatangan diterapkan pada medan tandatangan yang berasingan dalam dokumen.

Adakah penandatanganan memerlukan sijil komersial?

Tidak. Sijil yang ditandatangani sendiri berfungsi untuk ujian. Untuk produksi, gunakan sijil daripada CA yang dipercayai.


Ringkasan Rujukan API

Kelas / KaedahPenerangan
PdfSignerTandatangan dan sahkan dokumen PDF
PdfSigner.SignGunakan tandatangan digital
PdfSigner.VerifySemak kesahihan tandatangan
PdfSigner.SignWithAppearanceTandatangan dengan medan tandatangan visual
PdfCertificatePemuat sijil untuk format PFX dan DER
PdfCertificate.FromPfxMuat dari fail PFX dengan kata laluan
PdfCertificate.FromDerFilesMuat dari fail berkod DER
CertificateEncryptionOptionsPenyulitan PDF berasaskan sijil
ICustomSecurityHandlerAntara muka untuk penyulitan/penyahkripan tersuai
EncryptionParametersParameter yang dihantar kepada pengendali keselamatan tersuai
SignatureAlgorithmInfoMetadata mengenai algoritma tandatangan

Lihat Juga

 Bahasa Melayu