DigitalSignature

DigitalSignature class

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 del archivo de certificado especificado y la contraseña.

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 manipulado, este valor será verdadero. Solo lectura Boolean.
SignTime { get; }El momento en que se firmó el documento. Solo lectura DateTime.

Ejemplos

El siguiente ejemplo demuestra cómo agregar una firma digital desde 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");
    // Comentar nueva firma digital
    signature.Comments = "Prueba de firma digital de Aspose.Slides.";
    // Agregar firma digital a la presentación
    pres.DigitalSignatures.Add(signature);
    // Guardar presentación
    pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}

El siguiente código de muestra demuestra 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("Firmas utilizadas para firmar la presentación: ");
        // 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 ? "VÁLIDO" : "INVÁLIDO"));
            allSignaturesAreValid &= signature.IsValid;
        }
        if (allSignaturesAreValid)
            Console.WriteLine("La presentación es genuina, todas las firmas son válidas.");
        else
            Console.WriteLine("La presentación ha sido modificada desde la firma.");
    }
}

Ver también