Drošība un paraksti

Drošība un paraksti

Drošība un paraksti

Aspose.PDF FOSS for .NET atbalsta PDF digitālos parakstus, sertifikāta balstītu šifrēšanu un pielāgotus drošības apstrādātājus. Izmantojiet PdfSigner parakstīšanas darbplūsmām un PdfCertificate sertifikātu pārvaldībai.


Dokumenta parakstīšana

PdfSigner pielieto digitālu parakstu PDF, izmantojot PFX sertifikātu.

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

Parakstu pārbaude

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

Parakstīšana ar vizuālu izskatu

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

Sertifikātu pārvaldība

PdfCertificate ielādē sertifikātus no PFX failiem vai DER‑kodētiem failiem.

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

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

Sertifikāta balstīta šifrēšana

CertificateEncryptionOptions šifrē PDF, lai tikai norādītie sertifikāta turētāji varētu to atvērt.

var options = new CertificateEncryptionOptions(cert);

Pielāgoti drošības apstrādātāji

Implementēt ICustomSecurityHandler pielāgotu šifrēšanas un atšifrēšanas loģiku.

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; }
}

Paraksta algoritma informācija

SignatureAlgorithmInfo apraksta algoritmu, kas tiek izmantots esošā parakstā.

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

Padomi un labākā prakse

  • Vienmēr parakstiet dokumentus kā pēdējo soli — jebkura izmaiņa pēc parakstīšanas anulē parakstu.
  • Izmantojiet PFX failus ar spēcīgām parolēm sertifikātu glabāšanai.
  • Pārbaudiet parakstus pēc dokumenta ielādes, lai noteiktu manipulācijas.
  • Sertifikāta balstīta šifrēšana prasa saņēmēja publiskā atslēgas sertifikātu.
  • Implementējiet ICustomSecurityHandler tikai tad, ja standarta šifrēšana nav pietiekama.

Bieži sastopamās problēmas

IssueCauseFix
Paraksts tiek parādīts kā nederīgsDokuments modificēts pēc parakstīšanasAtkārtoti parakstiet, kad visas izmaiņas ir pabeigtas
PFX ielāde neizdodasKļūdaina parole vai bojāts failsPārbaudiet paroli un faila integritāti
Šifrēšana neļauj atvērtĪpašnieka parole nav norādītaIzmantojiet pareizo īpašnieka vai lietotāja paroli

Biežāk uzdotie jautājumi

Kādi paraksta algoritmi tiek atbalstīti?

RSA ar SHA-256, SHA-384 un SHA-512 parasti tiek atbalstīti. Pieejamie algoritmi ir atkarīgi no sertifikāta atslēgas tipa.

Vai es varu pievienot vairākas parakstus?

Jā. Katrs paraksts tiek piemērots atsevišķam paraksta laukam dokumentā.

Vai parakstīšanai ir nepieciešams komerciāls sertifikāts?

Nē. Pašparakstīti sertifikāti darbojas testēšanai. Ražošanā izmantojiet sertifikātu no uzticama CA.


API atsauces kopsavilkums

Class / MethodDescription
PdfSignerParakstīt un pārbaudīt PDF dokumentus
PdfSigner.SignPielietot digitālo parakstu
PdfSigner.VerifyPārbaudīt paraksta derīgumu
PdfSigner.SignWithAppearanceParakstīt ar vizuālu paraksta lauku
PdfCertificateSertifikāta ielādētājs PFX un DER formātiem
PdfCertificate.FromPfxIelādēt no PFX faila ar paroli
PdfCertificate.FromDerFilesIelādēt no DER kodētiem failiem
CertificateEncryptionOptionsSertifikāta balstīta PDF šifrēšana
ICustomSecurityHandlerInterfeiss pielāgotai šifrēšanai/atšifrēšanai
EncryptionParametersParametri, kas nodoti pielāgotajiem drošības apstrādātājiem
SignatureAlgorithmInfoMetadati par paraksta algoritmu

Skatīt arī

 Latviešu