Firma digitale in C#: Firmare i PDF in modo programmatico
2024-02-22 15:36:31 • Pubblicato in: Soluzione PDF - Sicurezza e Firma • Soluzioni comprovate
Per firmare i documenti digitali non è necessario uno strumento di eSign. Ma come fare? Sono disponibili C# e altri linguaggi di programmazione. Quindi, invece di uno strumento specializzato per l'eSign, tutto ciò di cui avete bisogno è un IDE. Molto probabilmente ne avete già uno se siete programmatori. Di conseguenza, potete immergervi subito. Se siete interessati alla firma digitale C#, continuate a leggere.
Non preoccupatevi se non siete programmatori. Abbiamo anche fornito uno strumento alternativo di facile utilizzo, Wondershare PDFelement!
- Parte 1. Come utilizzare la firma digitale C# per aggiungere un campo di firma certificata a un PDF
- Parte 2. Come utilizzare la firma digitale C# per firmare un PDF
- Parte 3. Come utilizzare la firma digitale C# per verificare una firma certificata su un PDF
- Parte 4. Utilizzare Wondershare PDFelement per aggiungere una firma certificata a un PDF senza utilizzare C#.
Parte 1. Come utilizzare la firma digitale C# per aggiungere un campo di firma certificata a un PDF
Prima di poter utilizzare C# per firmare un PDF, è necessario aggiungere un campo firma. È il campo in cui viene inserita la firma. Non preoccupatevi.
- Utilizzate questo codice per ottenere il PDF e la pagina:
using (PDFDoc doc = nuovo PDFDoc(docpath))
{ Page page1 = doc.GetPage(1); }
- Creare un campo di testo che può essere bloccato con la funzione di autorizzazione del campo. Utilizzare il seguente codice:
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
- Utilizzando il suo frammento di codice, aggiungete un campo firma al PDF:
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
- Supponiamo di aver pianificato l'aspetto di un campo firma. Inseritelo nel PDF utilizzando il codice seguente:
Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);
È possibile saltare questo passaggio se non è stato creato un campo firma.
- Preparare il livello di autorizzazione di blocco del documento, che verrà applicato una volta che il documento è stato certificato.
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
- Preparate ora il blocco del campo di testo creato nel passaggio 2.
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "new_text_field"; certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
- Richiamare il metodo Save per salvare il documento. PDFNet utilizzerà le informazioni fornite per firmare il documento.
doc.Save(outpath, 0);
Ecco come dovrebbe apparire il codice:
using (PDFDoc doc = nuovo PDFDoc(docpath))
{
Page page1 = doc.GetPage(1);
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "asdf_test_field";
certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, 0);
}
Parte 2. Come utilizzare una firma digitale C# per firmare un PDF
Ora che il PDF è dotato di un campo per la firma, è finalmente possibile firmarlo. Per firmarlo con una firma digitale C#, seguite questi passaggi:
- Utilizzando il codice seguente, è possibile ottenere il campo firma non firmato:
(PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
}
- Utilizzando questo snippet C#, preparare la firma e il gestore di firma per la firma:
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
- Per salvare il documento con la firma, utilizzare un'operazione di salvataggio incrementale.
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
Il codice finale dovrebbe essere simile a questo:
using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
}
Parte 3. Come utilizzare la firma digitale in C# per verificare una firma certificata su un PDF
È possibile verificare una firma certificata anche in C#. Tuttavia, è necessaria un'API speciale per la firma digitale, come l'API di verifica della firma digitale di apryse Docs.
A cosa serve questa operazione? È necessario assicurarsi che le firme digitali siano autentiche e non false. Inoltre, garantisce che l'accordo sia legalmente applicabile.
Seguite questi passaggi per verificare una firma digitale in C#:
- Selezionare un livello di sicurezza da utilizzare. Quindi, modificare le opzioni di verifica desiderate.
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
- Aggiungere la radice di fiducia all'elenco dei certificati affidabili in VerificationOptions.
opts.AddTrustedCertificate(in_public_key_file_path);
- Verificare la firma digitale.
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
L'intero programma dovrebbe avere questo aspetto:
using (PDFDoc doc = new PDFDoc(in_docpath))
{
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
opts.AddTrustedCertificate(in_public_key_file_path);
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
}
Sono possibili i seguenti risultati:
- SignaturesVerificationStatus.e_unsigned:Non ci sono campi firma firmati nel PDF.
- SignaturesVerificationStatus.e_failure: Vi è un fallimento nella verifica di almeno una firma. Esclude le questioni di fiducia.
- SignaturesVerificationStatus.e_untrusted: Non è stato possibile stabilire l'attendibilità di almeno una firma.
- SignaturesVerificationStatus.e_verified:Le firme del documento sono tutte verificate. Tenere presente che i campi non firmati vengono saltati.
Parte 4. Utilizzate Wondershare PDFelement per aggiungere una firma certificata a un PDF senza utilizzare C#.
L'uso della firma digitale C# per firmare i PDF presenta un grave difetto. È eccessivamente tecnico. Per farlo, è necessario essere un programmatore o almeno conoscere C#. Di conseguenza, è impossibile per i non addetti ai lavori.
Wondershare PDFelement è uno degli strumenti più semplici per firmare i documenti digitali. . Wondershare PDFelement è uno strumento versatile perché può essere utilizzato da chiunque. È noto per la sua facilità d'uso. Infatti, rende molto semplice la firma o la raccolta di firme.
Tenete presente che Wondershare PDFelement eSign è conforme agli standard legali e di settore come ISO 27001 e HIPAA. In questo modo potete essere certi che i documenti firmati sono autentici e sicuri. Include persino un verificatore di certificati!
Ma basta con i preamboli. Vi mostriamo come utilizzare Wondershare PDFelement eSign.
Parte 4.1. Come inviare documenti PDF da firmare
Proprio così. Wondershare PDFelement non si limita a firmare i PDF. Permette anche di raccogliere le firme di altre persone. È possibile utilizzare questa funzione per completare gli accordi anche se non si è fisicamente presenti. Wondershare PDFelement invia anche notifiche quando qualcuno firma un documento. In questo modo, non perderete mai un colpo e potrete passare subito alla fase successiva.
Ecco come utilizzare Wondershare PDFelement per raccogliere le firme:
- Aprite l'accordo che richiede la firma di altri in Wondershare PDFelement. Fare clic suProteggi > Richiedi eSign.
- Si aprirà una nuova finestra. Compilare il campo "Aggiungi destinatari" con gli indirizzi e-mail dei firmatari.
- Scegliere se firmare il documento per primo o per ultimo. Selezionate la casella appropriata per la vostra scelta.
- Impostare l'ordine di firma e la frequenza degli aggiornamenti in "Impostazioni".
- Clicca Avanti.
- Trascinare e rilasciare per aggiungere e assegnare i campi firma necessari.
- Clicca Avanti.
Parte 4.2. Come utilizzare Wondershare PDFelement per firmare i PDF
E se siete voi a dover firmare il documento? Come detto in precedenza, Wondershare PDFelement consente di farlo. Ci sono due approcci. Per firmare il PDF si può utilizzare l'applicazione per desktop o il collegamento via e-mail. Esamineremo entrambi i metodi:
A. Utilizzare l'app desktop di Wondershare PDFelement per firmare i PDF
- Accedere al proprio account in Wondershare PDFelement. Clicca Accordosul pannello sinistro. Creare un nuovo contratto chiamato "Waiting for me".
- Fare clic sul pulsante Firmaper accedere ai campi di firma.
- Per firmare, selezionare il campo della firma.
- Digitare, disegnare o caricare un'immagine per creare la firma. Cliccare OK.
- Fare clic su Clicca per firmare nella barra di notifica in basso a destra, quindi fare clic suAvanti..
B. Utilizzare l'applicazione desktop Wondershare PDFelement per firmare i PDF
Supponiamo di non essere a casa. Non si ha con sé il portatile. I documenti possono comunque essere firmati utilizzando il pulsante di firma sulla notifica e-mail. Per farlo, seguite i passaggi seguenti:
- Aprire la notifica e-mail di richiesta di eSign. Selezionare l'opzione Firma il documento
- Selezionare la casella Accetto l'EULA e l'informativa sulla privacy per l'utilizzo di documenti e firme elettroniche Fare clic su Continua.
- Selezionate il campo della firma che richiede la vostra firma. Creare la firma se è la prima volta che si firmano documenti di questo tipo. Si può Tipo, disegno, o Caricareun'immagine.
- Fare clic su Salva per salvare la firma e applicarla al documento in futuro.
Conclusione
Le firme digitali possono essere aggiunte ai PDF utilizzando C#. Tuttavia, ciò non implica che si debba studiare programmazione per farlo. Esistono alternative, molte delle quali sono più semplici da implementare.
Wondershare PDFelement è uno dei migliori strumenti per firmare i PDF. È una soluzione PDF con numerosi strumenti utili. La sua funzione eSign, conforme agli standard, consente di firmare facilmente i PDF. Inoltre, consente di inviare richieste di firma ad altri. Di conseguenza, molti preferiscono Wondershare PDFelement come strumento di firma elettronica. Detto questo, è uno strumento da tenere in considerazione.
Download Gratis o Acquista PDFelement proprio adesso!
Download Gratis o Acquista PDFelement proprio adesso!
Acquista PDFelement proprio adesso!
Acquista PDFelement proprio adesso!
Articoli Correlati
- Firme elettroniche semplificate con Adobe Signature App: imparare, implementare ed esplorare alternative
- Cosa c'è da sapere sui prezzi di Adobe Sign: piani e alternative
- Padroneggiare Adobe Fill and Sign Online: suggerimenti e trucchi per una maggiore efficienza
Salvatore Marin
staff Editor
Generally rated4.5(105participated)