PdfDigitalSignatureDetails

PdfDigitalSignatureDetails class

Contient des détails pour signer un document PDF avec une signature numérique.

public class PdfDigitalSignatureDetails

Constructeurs

NomLa description
PdfDigitalSignatureDetails()Initialise une instance de cette classe.
PdfDigitalSignatureDetails(CertificateHolder, string, string, DateTime)Initialise une instance de cette classe.

Propriétés

NomLa description
CertificateHolder { get; set; }Renvoie l’objet titulaire du certificat qui contient le certificat utilisé pour signer le document.
HashAlgorithm { get; set; }Obtient ou définit l’algorithme de hachage.
Location { get; set; }Obtient ou définit l’emplacement de la signature.
Reason { get; set; }Obtient ou définit la raison de la signature.
SignatureDate { get; set; }Obtient ou définit la date de la signature.
TimestampSettings { get; set; }Obtient ou définit les paramètres d’horodatage de la signature numérique.

Remarques

Pour le moment, la signature numérique des documents PDF n’est disponible que sur .NET 3.5 ou supérieur.

Pour signer numériquement un document PDF lorsqu’il est créé par Aspose.Words, définissez leDigitalSignatureDetails propriété à une valeur validePdfDigitalSignatureDetails objet puis enregistrez le document au format PDF en passant lePdfSaveOptions comme paramètre dans leSave méthode.

Aspose.Words crée une signature PKCS#7 sur l’ensemble du document PDF et utilise le filtre “Adobe.PPKMS” et le sous-filtre “adbe.pkcs7.sha1” lors de la création d’une signature numérique.

Exemples

Montre comment signer un document PDF généré.

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

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

// Créez un objet « PdfSaveOptions » que nous pouvons transmettre à la méthode « Save » du document
// pour modifier la manière dont cette méthode convertit le document en .PDF.
PdfSaveOptions options = new PdfSaveOptions();

// Configurez l'objet « DigitalSignatureDetails » de l'objet « SaveOptions » pour
// signer numériquement le document tel que nous le rendons avec la méthode « Enregistrer ».
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());
Assert.AreEqual(certificateHolder, options.DigitalSignatureDetails.CertificateHolder);

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

Voir également