Signature numérique dans PowerPoint
Le certificat numérique est utilisé pour créer une présentation PowerPoint protégée par mot de passe, marquée comme créée par une organisation ou une personne particulière. Le certificat numérique peut être obtenu en contactant une organisation autorisée - une autorité de certification. Après avoir installé le certificat numérique dans le système, il peut être utilisé pour ajouter une signature numérique à la présentation via Fichier -> Informations -> Protéger la présentation :
La présentation peut contenir plus d’une signature numérique. Après l’ajout de la signature numérique à la présentation, un message spécial apparaîtra dans PowerPoint :
Pour signer la présentation ou vérifier l’authenticité des signatures de présentation, l’API Aspose.Slides fournit IDigitalSignatureinterface, IDigitalSignatureCollectioninterface et IPresentation.DigitalSignatures propriété. Actuellement, les signatures numériques ne sont prises en charge que pour le format PPTX.
Ajouter une signature numérique depuis un certificat PFX
L’exemple de code ci-dessous démontre comment ajouter une signature numérique à partir d’un certificat PFX :
- Ouvrez le fichier PFX et passez le mot de passe PFX à DigitalSignatureobjet.
- Ajoutez la signature créée à l’objet présentation.
#[TODO:Exception] RuntimeError: Proxy error(FichierNonTrouvéException): Impossible de charger le fichier ou l'assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Le fichier est introuvable.
import aspose.slides as slides
with slides.Presentation() as pres:
# Créer un objet DigitalSignature avec le fichier PFX et le mot de passe PFX
signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1")
# Commenter la nouvelle signature numérique
signature.comments = "Test de signature numérique Aspose.Slides."
# Ajouter la signature numérique à la présentation
pres.digital_signatures.add(signature)
# sauvegarder la présentation
pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX)
Il est maintenant possible de vérifier si la présentation a été signée numériquement et n’a pas été modifiée :
# Ouvrir la présentation
with slides.Presentation("SomePresentationSigned.pptx") as pres:
if len(pres.digital_signatures) > 0:
allSignaturesAreValid = True
print("Signatures utilisées pour signer la présentation : ")
# Vérifier si toutes les signatures numériques sont valides
for signature in pres.digital_signatures :
print(signature.certificate.subject_name.name + ", "
+ signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID")
allSignaturesAreValid = allSignaturesAreValid and signature.is_valid
if allSignaturesAreValid:
print("La présentation est authentique, toutes les signatures sont valides.")
else:
print("La présentation a été modifiée depuis la signature.")