# Estrarre file per firma digitale

**URL:** <https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733>\
**Category:** Fatturazione Elettronica\
**Created:** [27 Maggio 2022, 3:03pm UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733 "2022-05-27T15:03:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nicola90](https://forum.italia.it/letter_avatar_proxy/v4/letter/n/58f4c7/32.png) [@Nicola90](https://forum.italia.it/u/Nicola90)\
**Post date:** [27 Maggio 2022, 3:03pm UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/1 "2022-05-27T15:03:06Z")

</div>

Buongiorno, su un sito che stiamo sviluppando dovremmo firmare dei file xml per ottenere dei p7m. Avevo intenzione di usare la libreria bouncycastle per c# ma se ho capito bene necessito di un file “pfx” che contiene certificato e firma privata del firmatario. Avendo a disposizione dispositivi Aruba o Carta nazionale dei servizi c’è modo di estrarre questi dati? O sono “bloccati” all’interno del dispositivo?

Ho alternative? O sto fraintendendo tragicamente il funzionamento della firma?

---

<div class="post-metadata">

**Author:** ![GiP](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/65b543/32.png) [@GiP](https://forum.italia.it/u/GiP)\
**Post date:** [29 Maggio 2022, 9:30am UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/2 "2022-05-29T09:30:06Z")

</div>

Non mi espongo riguardo Aruba, ma dalla Carta Nazionale dei Servizi non c’e’ modo di “estrarre” la chiave privata per la procedura di firma. E’ proprio il senso della chiave privata, che resti tale e venga elaborata dal processore interno della carta.  
Tra l’altro non esistono, per quanto ne so, procedure legalmente riconosciute per firmare con la CNS come invece esistono per la Carta d’Identita’ Elettronica.  
La documentazione tecnica della CNS si trova qui  
[https://www.agid.gov.it/it/piattaforme/carta-nazionale-servizi](https://www.agid.gov.it/it/piattaforme/carta-nazionale-servizi)  
Per la firma occorre un software che acceda alla CNS tramite PIN, che elabori i dati relativi alla firma e che generi il file firmato. L’intera procedura richiede pero’ a sua volta un ente certificatore che confermi che il software ha funzionato correttamente e se ne prenda la responsabilita’, verificata tramite il certificato di questo ente. In sostanza, la “firma” non e’ solo una questione tecnica ma in buona parte organizzativa, basata sui certificati. Nel caso della CIE la garanzia e’ fornita dal Ministero dell’Interno.

---

<div class="post-metadata">

**Author:** ![Nicola90](https://forum.italia.it/letter_avatar_proxy/v4/letter/n/58f4c7/32.png) [@Nicola90](https://forum.italia.it/u/Nicola90)\
**Post date:** [30 Maggio 2022, 8:59am UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/3 "2022-05-30T08:59:13Z")

</div>

Mmm, quindi se ho capito bene, il problema è che all’interno dei vari dispositivi c’è non solo la chiave privata della persona ma anche quella dell’azienda che fornisce il dispositivo e quindi non estraibile. Forse c’è un modo per comunicare con i token tramite un programma esterno? Sto pensando a una procedura che utilizzi il token comunque collegato al pc, ma senza bisogno di aprire programmi di firma. Leggendo nel forum ho visto citate librerie Chilkat a tal proposito

---

<div class="post-metadata">

**Author:** ![vbato](https://forum.italia.it/letter_avatar_proxy/v4/letter/v/3e96dc/32.png) [@vbato](https://forum.italia.it/u/vbato)\
**Post date:** [30 Maggio 2022, 9:32am UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/4 "2022-05-30T09:32:35Z")

</div>

Leggiti questo thread:

> [@Firma digitale con openssl](https://forum.italia.it/t/firma-digitale-con-openssl/21991):
>
> Ciao a tutti, qualcuno di voi è riuscito ad ottenere un certificato di firma digitale da poter utilizzare openssl per firmare le fatture elettroniche? O in alternativa un sistema automatico di firma? Grazie

In particolare, c’è un mio post con link ad un altro thread che spiega come usare OpenSSL per firmare un file usando una chiavetta collegata al PC.

---

<div class="post-metadata">

**Author:** ![Nicola90](https://forum.italia.it/letter_avatar_proxy/v4/letter/n/58f4c7/32.png) [@Nicola90](https://forum.italia.it/u/Nicola90)\
**Post date:** [30 Maggio 2022, 2:33pm UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/5 "2022-05-30T14:33:20Z")

</div>

Sto seguendo, da quel post, la procedura descritta in questo link

> **[Firma digitale con OpenSSL (CAdES compatibile)](https://www.blia.it/firmadigitale/)**
>
> Firma digitale con OpenSSL (CAdES compatibile)

Lavoro in windows, ho svolto i tre punti indicati ma non mi è chiaro come proseguire. Credo di dover prendere certe istruzioni dalla parte sopra che descrive le operazioni in ambiente Linux, ma non capisco quali. In particolare il comando storeutl non mi restituisce nulla, credo che dato che il mio chip è “Athena” io debba sostituire qualcosa nel file cnf o nelle istruzioni, ma la procedura non è chiara.

---

<div class="post-metadata">

**Author:** ![vbato](https://forum.italia.it/letter_avatar_proxy/v4/letter/v/3e96dc/32.png) [@vbato](https://forum.italia.it/u/vbato)\
**Post date:** [30 Maggio 2022, 3:16pm UTC](https://forum.italia.it/t/estrarre-file-per-firma-digitale/29733/6 "2022-05-30T15:16:24Z")

</div>

Premesso che non ho mai eseguito la procedura, confrontando le istruzioni Linux e Windows e leggendo la parte sui driver, direi che dovresti:

- Nel file `openssl.cnf`, mettere `MODULE_PATH = asepkcs` oppure `MODULE_PATH = bit4p11` (ci sono due moduli associati al chip Athena, non so come si fa a sapere quale usare). Altra cosa che non so è se serve mettere il percorso completo del file (comunque senza estensione .dll) come nella variante Linux.
- Prima di eseguire i comandi `openssl storeutl ...`, dovresti eseguire il comando `set OPENSSL_CONF=openssl.cnf`, come nel file .cmd di esempio.

Altro non mi viene in mente. Al limite prova a scrivere all’email in fondo alla pagina.
