DigitalSignatureUtil

DigitalSignatureUtil class

Fornisce metodi per firmare il documento.

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

public static class DigitalSignatureUtil

Metodi

NomeDescrizione
static LoadSignatures(Stream)Carica le firme digitali dal documento utilizzando il flusso.
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 sorgente e scrive il file non firmato nel file di destinazione.
static Sign(Stream, Stream, CertificateHolder)Firma il documento sorgente utilizzando i dati fornitiCertificateHolder con firma digitale e scrive il documento firmato nel flusso di destinazione.
static Sign(string, string, CertificateHolder)Firma il documento sorgente utilizzando i dati fornitiCertificateHolder con firma digitale e scrive il documento firmato nel file di destinazione.
static Sign(Stream, Stream, CertificateHolderSignOptions)Firma il documento sorgente utilizzando i dati fornitiCertificateHolder ESignOptions con firma digitale e scrive il documento firmato nel flusso di destinazione.
static Sign(string, string, CertificateHolderSignOptions)Firma il documento sorgente utilizzando i dati fornitiCertificateHolder 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 sono: Doc , Dot , Docx , Dotx , Docm , Dotm , Odt , Ott.

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 un documento da un file system locale nome file:
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 in un'altra posizione nel file system locale.
// 1 - Determina le posizioni sia del documento firmato che della copia non firmata tramite stringhe di nomi file:
DigitalSignatureUtil.RemoveAllSignatures(MyDir + "Digitally signed.docx",
    ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx");

// 2 - Determinare 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);
    }
}

// Verifichiamo che entrambi i documenti di output non abbiano firme digitali.
Assert.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx").Count);
Assert.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx").Count);

Guarda anche