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