Quando si lavora con documenti firmati digitalmente, può essere utile verificare se il certificato digitale utilizzato dal firmatario ha superato la propria data di scadenza.
In questo articolo vedremo come effettuare questo controllo utilizzando le classi messe a disposizione dal framework .NET, senza ricorrere a librerie di terze parti.
Verificare la data di scadenza del certificato
.NET mette a disposizione la classe X509Certificate2, che consente di accedere alle informazioni contenute in un certificato X.509, tra cui la data di inizio e di fine validità.
La proprietà NotAfter, in particolare, restituisce la data di fine validità del certificato.
C#
X509Certificate2 certificato =
new X509Certificate2(PercorsoNomeFileP7m)
DateTime oggi = DateTime.Now;
if (oggi > certificato.NotAfter)
{
MessageBox.Show($"Il certificato è SCADUTO.\nData di
scadenza: {certificato.NotAfter}",
"Certificato Scaduto", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Nell'esempio, PercorsoNomeFileCertificato rappresenta il percorso del file contenente il certificato X.509.
Se la data corrente è successiva alla data indicata dalla proprietà NotAfter, il certificato viene considerato scaduto.
Nota: il codice mostrato verifica esclusivamente la data di scadenza del certificato. Non controlla, da solo, la validità complessiva del certificato né l'autenticità della firma digitale.
Nessun commento:
Posta un commento