BSignedFile - Esempi
Lettura di una fattura XML
using B.BSecurity;
BSignedFile invoice = new BSignedFile(
invoicePath,
BSignedFile.eReadMode.STANDARD);
if (invoice.ReadFile())
{
string invoiceXml = invoice.FileContent;
string embeddedSignature = invoice.SignedContent;
}
else
{
foreach (Exception error in invoice.ExceptionList)
{
// Gestire l'errore secondo il flusso applicativo.
}
}
Usare il risultato di ReadFile() come controllo principale. IsNothing riflette l'esito del caricamento tentato dal costruttore, ma non sostituisce la verifica effettuata da ReadFile né garantisce da solo che il percorso esista.
La modalità STANDARD accetta contenuto binario o un file testuale Base64, cerca l'inizio dell'XML e ripulisce il contenuto della fattura. Se trova una firma XML incorporata, la separa in SignedContent.
Lettura di un file P7M/CMS
BSignedFile signedInvoice = new BSignedFile(
p7mPath,
BSignedFile.eReadMode.SIGNED);
bool decoded = signedInvoice.ReadFile();
string invoiceXml = signedInvoice.FileContent;
La modalità SIGNED decodifica il contenitore SignedCms e legge il contenuto XML. Se il contenitore CMS non è valido, tenta comunque la lettura del file e restituisce false; consultare sempre ExceptionList.
BSignedFile estrae il contenuto ma non chiama SignedCms.CheckSignature: non deve essere usato da solo come prova di validità crittografica o attendibilità del firmatario.
