Agregar firmas digitales a presentaciones en Android
Certificado digital se utiliza para crear una presentación de PowerPoint protegida con contraseña, marcada como creada por una organización o persona particular. El certificado digital puede obtenerse contactando a una organización autorizada, una autoridad certificadora. Después de instalar el certificado digital en el sistema, puede usarse para añadir una firma digital a la presentación a través de Archivo -> Información -> Proteger presentación:
La presentación puede contener más de una firma digital. Después de que se añada la firma digital a la presentación, aparecerá un mensaje especial en PowerPoint:
Para firmar la presentación o comprobar la autenticidad de las firmas de la presentación, Aspose.Slides API proporciona la interfaz IDigitalSignature, la interfaz IDigitalSignatureCollection y el método IPresentation.getDigitalSignatures . Actualmente, las firmas digitales solo son compatibles con el formato PPTX.
Agregar una firma digital desde un certificado PFX
El siguiente ejemplo de código muestra cómo añadir una firma digital desde un certificado PFX:
- Abra el archivo PFX y pase la contraseña PFX al objeto DigitalSignature .
- Agregue la firma creada al objeto de la presentación.
// Abriendo el archivo de presentación
Presentation pres = new Presentation();
try {
// Crear objeto DigitalSignature con archivo PFX y contraseña PFX
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");
// Comentario de la nueva firma digital
signature.setComments("Aspose.Slides digital signing test.");
// Añadir firma digital a la presentación
pres.getDigitalSignatures().add(signature);
// Guardar la presentación
pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Ahora es posible verificar si la presentación está firmada digitalmente y no ha sido modificada:
// Abrir presentación
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0)
{
boolean allSignaturesAreValid = true;
System.out.println("Signatures used to sign the presentation: ");
// Verificar si todas las firmas digitales son válidas
for (IDigitalSignature signature : pres.getDigitalSignatures())
{
System.out.println(signature.getComments() + ", "
+ signature.getSignTime().toString() + " -- " + (signature.isValid() ? "VALID" : "INVALID"));
allSignaturesAreValid &= signature.isValid();
}
if (allSignaturesAreValid)
System.out.println("Presentation is genuine, all signatures are valid.");
else
System.out.println("Presentation has been modified since signing.");
}
} finally {
if (pres != null) pres.dispose();
}
Preguntas frecuentes
¿Puedo eliminar firmas existentes de un archivo?
Sí. La colección de firmas digitales admite eliminar elementos individuales y limpiar la colección por completo ; después de guardar el archivo, la presentación no tendrá firmas.
¿El archivo se vuelve “solo lectura” después de firmar?
No. Una firma preserva la integridad y la autoría, pero no bloquea las ediciones. Para restringir la edición, combínela con “Solo lectura” o una contraseña.
¿La firma se mostrará correctamente en diferentes versiones de PowerPoint?
La firma se crea para el contenedor OOXML (PPTX). Las versiones modernas de PowerPoint que admiten firmas OOXML muestran correctamente el estado de dichas firmas.