Asignar y Validar Firmas Digitales
Una firma digital garantiza que el archivo de un libro de trabajo es válido y que nadie lo ha alterado. Puede crear una firma digital personal utilizando elCERTIFICACIÓN AUTOMÁTICA herramienta enviada con el paquete de Office Microsoft o cualquier otra herramienta. Incluso puede comprar una firma digital. Después de crear o adquirir una firma digital, debe adjuntarla a su libro de trabajo. Adjuntar una firma digital es similar a sellar un sobre. Si un sobre llega sellado, tiene cierto nivel de seguridad de que nadie ha manipulado su contenido.
Aspose.Cells for Java API proporcionar elcom.aspose.cells.DigitalSignatureCollection & com.aspose.cells.DigitalSignature clases para firmar las hojas de cálculo y validarlas.
Firmar las hojas de cálculo
El proceso de firma requiere un certificado como se mencionó anteriormente. Junto con el certificado, también debe tener su contraseña para firmar con éxito las hojas de cálculo utilizando el Aspose.Cells API.
El siguiente fragmento de código demuestra el uso de Aspose.Cells for Java API para firmar una hoja de cálculo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(SigningSpreadsheets.class); | |
// Create an instance of DigitalSignatureCollection | |
DigitalSignatureCollection signatures = new DigitalSignatureCollection(); | |
// Load the certificate into an instance of InputStream | |
InputStream inStream = new FileInputStream("d:/temp.pfx"); | |
// 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, KEYSTORE_PASSWORD.toCharArray()); | |
// Create an instance of DigitalSignature and pass the instance of KeyStore, password, comments and time | |
DigitalSignature signature = new DigitalSignature(inputKeyStore, KEYSTORE_PASSWORD, "test for sign", | |
DateTime.getNow()); | |
// Add the instance of DigitalSignature into the collection | |
signatures.add(signature); | |
// Load an existing spreadsheet using the Workbook class | |
Workbook workbook = new Workbook(dataDir + "unsigned.xlsx"); | |
// Set the signature | |
workbook.setDigitalSignature(signatures); | |
// Save the signed spreadsheet | |
workbook.save(dataDir + "signed.xlsx"); |
Validación de las hojas de cálculo
El siguiente fragmento de código demuestra el uso de Aspose.Cells for Java API para validar la hoja de cálculo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ValidatingSpreadsheets.class); | |
// Load an existing spreadsheet in an instance of Workbook | |
Workbook workbook = new Workbook(dataDir + "signed.xlsx"); | |
// Retrieve the collection of digital signatures from the Workbook | |
DigitalSignatureCollection signatures = workbook.getDigitalSignature(); | |
// Loop over the collection of digital signatures | |
for (DigitalSignature signature : (Iterable<DigitalSignature>) signatures) { | |
// Check the signature status using the isValid property | |
System.out.println(signature.isValid()); | |
} |