ZapCard · SDK .NET · v1.7.4

La firma digitale,
in una riga di codice.

La libreria .NET di Intersail per firmare, marcare temporalmente e verificare documenti secondo gli standard italiani ed europei. Niente ASN.1, niente protocolli TSA: poche classi facade e l'operazione è fatta.

  • CAdES / PKCS#7
  • PAdES
  • Marca temporale
  • CNS / CIE
  • Firma remota CMD

// demo

ZapCard in azione.

Guarda come firmare, marcare temporalmente e verificare documenti — CAdES, PAdES, marca RFC 3161 e smartcard — in poche righe di codice .NET.

// capabilities

Tutto ciò che serve alla firma, in un solo assembly.

01

Firma CAdES / PKCS#7

Firma semplice, parallela, controfirma e firma nidificata di buste .p7m.

02

Firma massiva

Un solo inserimento del PIN per firmare molti documenti in sequenza.

03

Firma PAdES (PDF)

Firma incorporata nei PDF, RSA ed ECDSA, con marca temporale. Il file resta leggibile ovunque.

04

Marca temporale

Marche RFC 3161 dalle principali TSA italiane — Infocamere, Actalis, Aruba — anche in CAdES-T.

05

Verifica

Validazione di firme e certificati, catena di fiducia, revoche via CRL e OCSP.

06

Smartcard CNS / CIE

Identificazione della carta, lettura dei certificati e dei dati personali tramite lo strato PKCS#11.

07

Firma remota CMD

Firma «forte» senza dispositivo fisico, attraverso il plugin CMD.

API ad alto livello

Poche classi facade — Pkcs7Utility, SignatureRequest, ZapCardSigner — nascondono ASN.1 e i protocolli.

// usage

Dall'attivazione alla verifica, in C#.

// Firma semplice CAdES — input, output, PIN
Pkcs7Result res = Pkcs7Utility.CreatePkcs7(
    inFile, inFile + ".p7m", new SignatureRequest(pin));

// Firma parallela: un secondo firmatario sulla stessa busta
Pkcs7Utility.AddSignature(p7m, p7m, new SignatureRequest(pin2));
// Marca temporale RFC 3161 da una TSA accreditata
TSProvider tsa = TSProvider.Create(TSProviderType.Actalis);
tsa.Username = "utente";
tsa.Password = "password";

Timestamp ts = tsa.CreateMarcaTemporale(file, HashAlgorithmNames.SHA256);

// …oppure incorporala nella firma (CAdES-T)
var sr = new SignatureRequest(pin) { SignatureTimestampProvider = tsa };
// Verifica firma + catena dei certificati, CRL e OCSP
bool ok = Pkcs7Utility.VerifyPkcs7(inFile, out var certs,
                              verifySignatureOnly: false);

// Naviga firme e controfirme; il nome è il CN del certificato
foreach (ISignature s in Pkcs7Utility.ExtractSignaturesFromPkcs7(inFile))
    Console.WriteLine(X509Utility.GetDistinguishedNameField(s, "CN"));
using it.intersail.security.utility.providers.pades;

var pades = new PadesProvider();
if (pades.IsSigned(pdfFile))
    foreach (ISignature sig in pades.ExtractSignatures(pdfFile, true))
        Console.WriteLine(sig.SignerName + " — " + sig.VerifyResult);

// conforme a

eIDASCAdESPAdESPKCS#7PKCS#11RFC 3161CNS / CIECRL / OCSP

// architettura

Un nucleo, moduli su richiesta.

Per la maggior parte dei casi d'uso basta referenziare ZapCard.dll. I moduli si aggiungono solo quando servono le rispettive funzioni.

  • ZapCard.dll core

    Firma, verifica, marca temporale e accesso alle smart card. Unico riferimento obbligatorio.

  • ZapCard.Pades.dll

    Provider per la firma e la verifica dei documenti PDF (PAdES).

  • ZapCard.CMDCard.dll

    Plugin per la firma remota CMD, la firma «forte» via servizio.

  • ZapCard.Plugins.dll

    Infrastruttura dei plugin di carta: supporto a dispositivi non nativi.

// edizioni

Tre edizioni, una sola API.

BASIC

Sign

Firma dei documenti in CAdES / PKCS#7 e PAdES.

TS

Timestamp

Marca temporale RFC 3161 dalle TSA accreditate.

completa

PROFESSIONAL

Sign + Timestamp

Firma e marca temporale, più le funzioni web e l'interoperabilità COM.

Integra la firma digitale nella tua applicazione .NET.

Parliamo dei tuoi casi d'uso, dell'edizione adatta e dell'attivazione della licenza.

Contattaci