Firmar digitalmente un proyecto de código VBA con un certificado
Puede firmar digitalmente su proyecto de código VBA usando Aspose.Cells con su método Workbook.VbaProject.Sign(). Siga estos pasos para verificar si su archivo de Excel está firmado digitalmente con un certificado.
- Haga clic en Visual Basic desde la pestaña Desarrollador para abrir Visual Basic para Aplicaciones IDE
- Haga clic en Herramientas > Firmas Digitales… de Visual Basic para Aplicaciones IDE
y mostrará el Formulario de Firma Digital que muestra si el documento está firmado digitalmente con un certificado o no.
Firmar digitalmente un proyecto de código VBA con un certificado en C#
El siguiente código de ejemplo ilustra cómo hacer uso del método Workbook.VbaProject.Sign(). Aquí están los archivos de entrada y salida del código de ejemplo. Puede usar cualquier archivo de Excel y cualquier certificado para probar este código.
- Archivo de Excel de origen utilizado en el código de ejemplo.
- Archivo pfx de ejemplo para crear la Firma Digital. Por favor, instálelo en su computadora para ejecutar este código. Su contraseña es 1234.
- Archivo de Excel de salida generado por el código de ejemplo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String password = "1234"; | |
String pfxPath = sourceDir + "sampleDigitallySignVbaProjectWithCertificate.pfx";; | |
String comment = "Signing Digital Signature using Aspose.Cells"; | |
// Load the certificate into an instance of InputStream | |
InputStream inStream = new FileInputStream(pfxPath); | |
// Create an instance of KeyStore with PKCS12 cryptography | |
KeyStore inputKeyStore = KeyStore.getInstance("PKCS12"); | |
// Use the KeyStore.load method to load the certificate stream and its password | |
inputKeyStore.load(inStream, password.toCharArray()); | |
inStream.close(); | |
// Create an instance of DigitalSignature and pass the instance of KeyStore, password, comments and time | |
DigitalSignature signature = new DigitalSignature(inputKeyStore, password, comment, | |
DateTime.getNow()); | |
Workbook wb = new Workbook(sourceDir + "sampleDigitallySignVbaProjectWithCertificate.xlsm"); | |
wb.getVbaProject().sign(signature); | |
wb.save(outputDir + "outputDigitallySignVbaProjectWithCertificate.xlsm"); |