SDK per la firma digitale con algoritmo SHA-256

In seguito alla Determinazione Commissariale n. 69/2010 (del 28 luglio 2010) che modifica la Deliberazione CNIPA n. 45/2009 sono stati modificati i termini per l’utilizzo delle nuove regole a proposito di Firma Digitale.

Entro il 31 dicembre 2010 tutte le applicazioni che sfruttano questa tecnologia dovranno implementare i nuovi formati di firma (tra cui il più robusto algoritmo SHA-256) a partire dal 31 agosto 2010; devono rendere disponibili dette applicazioni entro il 31 dicembre 2010. Infatti oltre il 30 giugno 2011 i documenti firmati con il vecchio formato non saranno più validi. (Per approfondimenti: www.cnipa.gov.it)

Abbiamo quindi cercato una libreria che implementasse il famigerato SHA-256 e che permettesse varie tipologie di firma e di verifica.

ESEMPI DI UTILIZZO

Attivazione della liberia:

try
   {
        License.Activate(activationCode);
   }
catch (LicenseException ex)
   {
         return;
   }

Firma Semplice:

Pkcs7Result res = Pkcs7Utility.CreatePkcs7(string fileInput, string Pin, string fileOutput);
if (res != Pkcs7Result.Ok)
  {
      Error("Errore durante la firma: {0} - {1}", Pkcs7Utility.LastError, Pkcs7Utility.LastErrorMessage);
      return;
  }

Firma Parallela o Controfirma

Pkcs7Result res = Pkcs7Utility.AddSignature(fileInput, Pin, tmpFile);

Ottenere i certificati di firma:

X509Certificate2Collection listaCertificati;
bool  res = Pkcs7Utility.VerifyPkcs7(txtSelectedFile.Text, out listaCertificati, true);

Mostrare un certificato:

Pkcs7Utility.ShowCertificate(certificato);

Estrarre dati originali dal file firmato:

string fileOutput = Pkcs7Utility.GetOriginalFilename(fileInput);
bool res = Pkcs7Utility.ExtractDataFromPkcs7(fileInput, fileOutput);

Lascia un commento