PdfDigitalSignatureDetails

PdfDigitalSignatureDetails class

Contiene detalles para firmar un documento PDF con firma digital.

public class PdfDigitalSignatureDetails

Constructores

NombreDescripción
PdfDigitalSignatureDetails()Inicializa una instancia de esta clase.
PdfDigitalSignatureDetails(CertificateHolder, string, string, DateTime)Inicializa una instancia de esta clase.

Propiedades

NombreDescripción
CertificateHolder { get; set; }Devuelve el objeto del titular del certificado que contiene el certificado que se utilizó para firmar el documento.
HashAlgorithm { get; set; }Obtiene o establece el algoritmo hash.
Location { get; set; }Obtiene o establece la ubicación de la firma.
Reason { get; set; }Obtiene o establece el motivo de la firma.
SignatureDate { get; set; }Obtiene o establece la fecha de la firma.
TimestampSettings { get; set; }Obtiene o establece la configuración de la marca de tiempo de la firma digital.

Observaciones

Por el momento, la firma digital de documentos PDF solo está disponible en .NET 2.0 o superior.

Para firmar digitalmente un documento PDF cuando lo crea Aspose.Words, configure elDigitalSignatureDetails propiedad a un válidoPdfDigitalSignatureDetails objeto y luego guarde el documento en formato PDF pasando elPdfSaveOptions como parámetro en elSave método.

Aspose.Words crea una firma PKCS#7 en todo el documento PDF y utiliza el filtro “Adobe.PPKMS” y el subfiltro “adbe.pkcs7.sha1” al crear una firma digital.

Ejemplos

Muestra cómo firmar un documento PDF generado.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Contents of signed PDF.");

CertificateHolder certificateHolder = CertificateHolder.Create(MyDir + "morzal.pfx", "aw");

// Crea un objeto "PdfSaveOptions" que podemos pasar al método "Guardar" del documento
// para modificar cómo ese método convierte el documento a .PDF.
PdfSaveOptions options = new PdfSaveOptions();

// Configurar el objeto "DigitalSignatureDetails" del objeto "SaveOptions" para
// firmar digitalmente el documento a medida que lo renderizamos con el método "Guardar".
DateTime signingTime = new DateTime(2015, 7, 20);
options.DigitalSignatureDetails =
    new PdfDigitalSignatureDetails(certificateHolder, "Test Signing", "My Office", signingTime);
options.DigitalSignatureDetails.HashAlgorithm = PdfDigitalSignatureHashAlgorithm.RipeMD160;

Assert.AreEqual("Test Signing", options.DigitalSignatureDetails.Reason);
Assert.AreEqual("My Office", options.DigitalSignatureDetails.Location);
Assert.AreEqual(signingTime, options.DigitalSignatureDetails.SignatureDate.ToLocalTime());

doc.Save(ArtifactsDir + "PdfSaveOptions.PdfDigitalSignature.pdf", options);

Ver también