DigitalSignature

Clase DigitalSignature

Firma digital en archivo firmado.

public class DigitalSignature : IDigitalSignature

Constructores

NombreDescripción
DigitalSignature(X509Certificate2)Crea un nuevo objeto DigitalSignature con el certificado especificado.
DigitalSignature(string, string)Crea un nuevo objeto DigitalSignature con la ruta de archivo del certificado y la contraseña especificados.

Propiedades

NombreDescripción
Certificate { get; }Objeto de certificado que se utilizó para firmar el documento. Solo lectura X509Certificate2.
Comments { get; set; }El propósito de la firma. Lectura/escritura String.
IsValid { get; }Si esta firma digital es válida y el documento no ha sido alterado, este valor será verdadero. Solo lectura Boolean.
SignTime { get; }La hora en que se firmó el documento. Solo lectura DateTime.

Ejemplos

El siguiente ejemplo muestra cómo agregar una firma digital a partir de un certificado PFX en una presentación de PowerPoint.

[C#]
// Inicializar instancia de Presentation
using (Presentation pres = new Presentation())
{
    // Crear objeto DigitalSignature con archivo PFX y contraseña PFX
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");
    // Comentario de la nueva firma digital
    signature.Comments = "Aspose.Slides digital signing test.";
    // Añadir firma digital a la presentación
    pres.DigitalSignatures.Add(signature);
    // Guardar presentación
    pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}

El siguiente código de ejemplo muestra cómo validar la firma digital de una presentación de PowerPoint.

[C#]
// Inicializar instancia de Presentation
using (Presentation pres = new Presentation("SomePresentationSigned.pptx"))
{
    if (pres.DigitalSignatures.Count < 0)
    {
        bool allSignaturesAreValid = true;
        Console.WriteLine("Signatures used to sign the presentation: ");
        // Verificar si todas las firmas digitales son válidas
        foreach (DigitalSignature signature in pres.DigitalSignatures)
        {
            Console.WriteLine(signature.Certificate.SubjectName.Name + ", "
                    + signature.SignTime.ToString("yyyy-MM-dd HH:mm") + " -- " + (signature.IsValid ? "VALID" : "INVALID"));
            allSignaturesAreValid &= signature.IsValid;
        }
        if (allSignaturesAreValid)
            Console.WriteLine("Presentation is genuine, all signatures are valid.");
        else
            Console.WriteLine("Presentation has been modified since signing.");
    }
}

Véase también