DigitalSignatureUtil

DigitalSignatureUtil class

Bietet Methoden zum Signieren von Dokumenten.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit digitalen Signaturen Dokumentationsartikel.

public static class DigitalSignatureUtil

Methoden

NameBeschreibung
static LoadSignatures(Stream)Lädt digitale Signaturen aus dem Dokument mithilfe eines Streams.
static LoadSignatures(string)Lädt digitale Signaturen aus dem Dokument.
static RemoveAllSignatures(Stream, Stream)Entfernt alle digitalen Signaturen aus dem Dokument im Quellstream und schreibt das nicht signierte Dokument in den Zielstream.
static RemoveAllSignatures(string, string)Entfernt alle digitalen Signaturen aus der Quelldatei und schreibt die nicht signierte Datei in die Zieldatei.
static Sign(Stream, Stream, CertificateHolder)Signiert das Quelldokument mit der angegebenenCertificateHolder mit digitaler Signatur und schreibt das signierte Dokument in den Zielstream.
static Sign(string, string, CertificateHolder)Signiert das Quelldokument mit der angegebenenCertificateHolder mit digitaler Signatur und schreibt das signierte Dokument in die Zieldatei.
static Sign(Stream, Stream, CertificateHolderSignOptions)Signiert das Quelldokument mit der angegebenenCertificateHolder UndSignOptions mit digitaler Signatur und schreibt das signierte Dokument in den Zielstream.
static Sign(string, string, CertificateHolderSignOptions)Signiert das Quelldokument mit der angegebenenCertificateHolder UndSignOptions mit digitaler Signatur und schreibt das signierte Dokument in die Zieldatei.

Bemerkungen

Da die digitale Signatur mit Dateiinhalten und nicht mit dem Document Object Model arbeitet, werden diese Methoden in eine separate Klasse eingefügt.

Unterstützte Formate sind: Doc , Dot , Docx , Dotx , Docm , Dotm , Odt , Ott.

Beispiele

Zeigt, wie Signaturen aus einem digital signierten Dokument geladen werden.

// Es gibt zwei Möglichkeiten, die Sammlung digitaler Signaturen eines signierten Dokuments mithilfe der Klasse DigitalSignatureUtil zu laden.
// 1 - Laden eines Dokuments aus einem lokalen Dateisystem mit Dateinamen:
DigitalSignatureCollection digitalSignatures = 
    DigitalSignatureUtil.LoadSignatures(MyDir + "Digitally signed.docx");

// Wenn diese Sammlung nicht leer ist, können wir überprüfen, ob das Dokument digital signiert ist.
Assert.AreEqual(1, digitalSignatures.Count);

// 2 - Laden eines Dokuments aus einem FileStream:
using (Stream stream = new FileStream(MyDir + "Digitally signed.docx", FileMode.Open))
{
    digitalSignatures = DigitalSignatureUtil.LoadSignatures(stream);
    Assert.AreEqual(1, digitalSignatures.Count);
}

Zeigt, wie digitale Signaturen aus einem digital signierten Dokument entfernt werden.

// Es gibt zwei Möglichkeiten, die Klasse DigitalSignatureUtil zum Entfernen digitaler Signaturen zu verwenden
// aus einem signierten Dokument, indem Sie eine unsignierte Kopie davon an einer anderen Stelle im lokalen Dateisystem speichern.
// 1 – Bestimmen Sie die Speicherorte des signierten Dokuments und der unsignierten Kopie anhand der Dateinamenzeichenfolgen:
DigitalSignatureUtil.RemoveAllSignatures(MyDir + "Digitally signed.docx",
    ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx");

// 2 - Bestimmen Sie die Speicherorte des signierten Dokuments und der unsignierten Kopie anhand von Dateiströmen:
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);
    }
}

// Überprüfen Sie, dass unsere beiden Ausgabedokumente keine digitalen Signaturen haben.
Assert.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx").Count);
Assert.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx").Count);

Siehe auch