Ασφάλεια και υπογραφές
Ασφάλεια και υπογραφές
Aspose.PDF FOSS for .NET supports PDF digital signatures, certificate-based κρυπτογράφηση, και προσαρμοσμένες διαχειριστές ασφαλείας. χρησιμοποιήστε PdfSigner Για την υπογραφή Οι ροές εργασίας και PdfCertificate για τη διαχείριση πιστοποιητικών.
Υπογράφοντας ένα έγγραφο
PdfSigner Εφαρμόστε μια ψηφιακή υπογραφή σε ένα PDF χρησιμοποιώντας πιστοποιητικό PFX.
var cert = PdfCertificate.FromPfx("certificate.pfx", "password");
var signer = new PdfSigner();
signer.Sign(doc, cert);
doc.Save("signed.pdf");Ελέγχοντας τις υπογραφές
var signer = new PdfSigner();
bool valid = signer.Verify(doc);
Console.WriteLine($"Signature valid: {valid}");Υπογραφή με οπτική εμφάνιση
signer.SignWithAppearance(doc, cert, signatureField, appearance);Διαχείριση πιστοποιητικών
PdfCertificate φορτώνει πιστοποιητικά από αρχεία PFX ή κρυπτογραφημένα αρχείο DER.
// From PFX
var cert = PdfCertificate.FromPfx("cert.pfx", "password");
// From DER files (certificate + key)
var cert2 = PdfCertificate.FromDerFiles("cert.der", "key.der");Κρυπτογράφηση βάσει πιστοποιητικού
CertificateEncryptionOptions Κρυπτογραφεί ένα PDF για να προσδιορίσει μόνο το πιστοποιητικό Οι κάτοχοι μπορούν να το ανοίξουν.
var options = new CertificateEncryptionOptions(cert);Προσαρμοσμένοι διαχειριστές ασφαλείας
Εφαρμογή ICustomSecurityHandler Για την προσαρμοσμένη κρυπτογράφηση και λογική αποκρυφισμού.
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; }
}Υπογραφή αλγόριθμου πληροφοριών
SignatureAlgorithmInfo Περιγράφει τον αλγόριθμο που χρησιμοποιείται σε μια υπάρχουσα υπογραφή.
var info = new SignatureAlgorithmInfo("SHA256withRSA");
Console.WriteLine(info.ToString());Συμβουλές και βέλτιστες πρακτικές
- Πάντα υπογράψτε τα έγγραφα ως το τελικό βήμα - οποιαδήποτε τροποποίηση μετά την υπογραφή ακυρώνει τη σύμβαση.
- Χρησιμοποιήστε αρχεία PFX με ισχυρά κωδικούς πρόσβασης για την αποθήκευση πιστοποιητικού.
- Ελέγξτε τις υπογραφές μετά την φόρτωση ενός εγγράφου για να εντοπίσετε το χτύπημα.
- Η κρυπτογράφηση βάσει πιστοποιητικού απαιτεί το δημόσιο πιστωτικό στοιχείο του παραλήπτη.
- Εφαρμογή
ICustomSecurityHandlerΜόνο όταν η τυποποιημένη κρυπτογράφηση είναι ανεπαρκής.
κοινά ζητήματα
| Θέμα | Αιτία | ΦΙΛΕΞΗ |
|---|---|---|
| Η υπογραφή αποδεικνύεται ως αναίρετη | Αλλαγή μετά την υπογραφή του εγγράφου | Επαναγραφή μετά την ολοκλήρωση όλων των τροποποιήσεων |
| Η αποτυχία του PFX | Λάθος κωδικό πρόσβασης ή διαφθορά αρχείου | Ελέγξτε τον κωδικό πρόσβασης και την ακεραιότητα του αρχείου |
| Η κρυπτογράφηση εμποδίζει την έναρξη | Ο κωδικός πρόσβασης του ιδιοκτήτη δεν παρέχεται | Χρησιμοποιήστε το σωστό χρήστη ή τον κωδικό πρόσβασης του ιδιοκτήτη |
FAQ
Ποια αλγόριθμοι υπογραφής υποστηρίζονται;?
Οι RSA με SHA-256, S HA-384, και SHO-512 υποστηρίζονται συνήθως. οι διαθέσιμες αλγόριθμοι εξαρτώνται από τον τύπο κλειδί του πιστοποιητικού.
Μπορώ να προσθέσω πολλές υπογραφές;?
Ναι. Κάθε υπογραφή εφαρμόζεται σε ένα ξεχωριστό πεδίο υπογραφής στο έγγραφο.
Η υπογραφή απαιτεί εμπορικό πιστοποιητικό;?
Όχι. αυτο-υγγραφημένα πιστοποιητικά εργάζονται για δοκιμές. Για την παραγωγή, χρησιμοποιήστε ένα πιστοποίηση από μια αξιόπιστη CA.
Συνοπτική αναφορά API
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
PdfSigner | Υπογραφή και επαλήθευση PDF εγγράφων |
PdfSigner.Sign | Εφαρμόστε μια ψηφιακή υπογραφή |
PdfSigner.Verify | Ελέγξτε την ισχύ της υπογραφής |
PdfSigner.SignWithAppearance | Σημειώστε με ένα οπτικό πεδίο υπογραφής |
PdfCertificate | Πιστοποιητικό φόρτωσης για μορφές PFX και DER |
PdfCertificate.FromPfx | Κατεβάστε από ένα αρχείο PFX με κωδικό πρόσβασης |
PdfCertificate.FromDerFiles | Κατεβάστε από τα κρυπτογραφημένα αρχεία |
CertificateEncryptionOptions | Πιστοποιητικό κρυπτογράφηση PDF |
ICustomSecurityHandler | Επαφές για προσαρμοσμένη κρυπτογράφηση / αποκρυφισμό |
EncryptionParameters | Παραμέτρους που μεταφέρονται σε προσαρμοσμένους διαχειριστές ασφαλείας |
SignatureAlgorithmInfo | Μεταδεδομένα για το αλγόριθμο μιας υπογραφής |