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
ICustomSecurityHandlertikai tad, ja standarta šifrēšana nav pietiekama.
Bieži sastopamās problēmas
| Issue | Cause | Fix |
|---|---|---|
| Paraksts tiek parādīts kā nederīgs | Dokuments modificēts pēc parakstīšanas | Atkārtoti parakstiet, kad visas izmaiņas ir pabeigtas |
| PFX ielāde neizdodas | Kļūdaina parole vai bojāts fails | Pārbaudiet paroli un faila integritāti |
| Šifrēšana neļauj atvērt | Īpašnieka parole nav norādīta | Izmantojiet 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 / Method | Description |
|---|---|
PdfSigner | Parakstīt un pārbaudīt PDF dokumentus |
PdfSigner.Sign | Pielietot digitālo parakstu |
PdfSigner.Verify | Pārbaudīt paraksta derīgumu |
PdfSigner.SignWithAppearance | Parakstīt ar vizuālu paraksta lauku |
PdfCertificate | Sertifikāta ielādētājs PFX un DER formātiem |
PdfCertificate.FromPfx | Ielādēt no PFX faila ar paroli |
PdfCertificate.FromDerFiles | Ielādēt no DER kodētiem failiem |
CertificateEncryptionOptions | Sertifikāta balstīta PDF šifrēšana |
ICustomSecurityHandler | Interfeiss pielāgotai šifrēšanai/atšifrēšanai |
EncryptionParameters | Parametri, kas nodoti pielāgotajiem drošības apstrādātājiem |
SignatureAlgorithmInfo | Metadati par paraksta algoritmu |