DigitalSignatureUtil

DigitalSignatureUtil class

Fornisce metodi per firmare il documento.

Per saperne di più, visita ilLavora con le firme digitali articolo di documentazione.

public static class DigitalSignatureUtil

Metodi

NomeDescrizione
static LoadSignatures(Stream)Carica le firme digitali dal documento utilizzando stream.
static LoadSignatures(string)Carica le firme digitali dal documento.
static RemoveAllSignatures(Stream, Stream)Rimuove tutte le firme digitali dal documento nel flusso di origine e scrive il documento non firmato nel flusso di destinazione.
static RemoveAllSignatures(string, string)Rimuove tutte le firme digitali dal file di origine e scrive il file non firmato nel file di destinazione.
static Sign(Stream, Stream, CertificateHolder)Firma il documento di origine utilizzando specificatoCertificateHoldercon firma digitale e scrive il documento firmato nel flusso di destinazione.
static Sign(string, string, CertificateHolder)Firma il documento di origine utilizzando specificatoCertificateHolder con firma digitale e scrive il documento firmato nel file di destinazione.
static Sign(Stream, Stream, CertificateHolderSignOptions)Firma il documento di origine utilizzando specificatoCertificateHolder ESignOptions con firma digitale e scrive il documento firmato nel flusso di destinazione.
static Sign(string, string, CertificateHolderSignOptions)Firma il documento di origine utilizzando specificatoCertificateHolder ESignOptions con firma digitale e scrive il documento firmato nel file di destinazione.

Osservazioni

Poiché la firma digitale funziona con il contenuto del file anziché con il Document Object Model, questi metodi vengono inseriti in una classe separata.

I formati supportati sonoDoc EDocx.

Esempi

Mostra come caricare le firme da un documento firmato digitalmente.

// Esistono due modi per caricare la raccolta di firme digitali di un documento firmato utilizzando la classe DigitalSignatureUtil.
// 1 - Carica da un documento da un nome file di file system locale:
DigitalSignatureCollection digitalSignatures = 
    DigitalSignatureUtil.LoadSignatures(MyDir + "Digitally signed.docx");

// Se questa raccolta non è vuota, possiamo verificare che il documento sia firmato digitalmente.
Assert.AreEqual(1, digitalSignatures.Count);

// 2 - Carica da un documento da un FileStream:
using (Stream stream = new FileStream(MyDir + "Digitally signed.docx", FileMode.Open))
{
    digitalSignatures = DigitalSignatureUtil.LoadSignatures(stream);
    Assert.AreEqual(1, digitalSignatures.Count);
}

Mostra come rimuovere le firme digitali da un documento firmato digitalmente.

// Esistono due modi per utilizzare la classe DigitalSignatureUtil per rimuovere le firme digitali
// da un documento firmato salvandone una copia non firmata da qualche altra parte nel file system locale.
// 1 - Determina le posizioni sia del documento firmato che della copia non firmata in base alle stringhe del nome file:
DigitalSignatureUtil.RemoveAllSignatures(MyDir + "Digitally signed.docx",
    ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx");

// 2 - Determina le posizioni sia del documento firmato che della copia non firmata tramite flussi di file:
using (Stream streamIn = new FileStream(MyDir + "Digitally signed.docx", FileMode.Open))
{
    using (Stream streamOut = new FileStream(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx", FileMode.Create))
    {
        DigitalSignatureUtil.RemoveAllSignatures(streamIn, streamOut);
    }
}

// Verifica che entrambi i nostri documenti di output non abbiano firme digitali.
Assert.That(DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx"), Is.Empty);
Assert.That(DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx"), Is.Empty);

Guarda anche