Tilldela och validera digitala signaturer
En digital signatur ger en garanti för att en arbetsboksfil är giltig och att ingen har ändrat den. Du kan skapa en personlig digital signatur genom att användaSELFCERT verktyg levereras med Microsoft Office-paket eller något annat verktyg. Du kan till och med köpa en digital signatur. När du har skapat eller skaffat en digital signatur måste du bifoga den till din arbetsbok. Att fästa en digital signatur liknar att försegla ett kuvert. Om ett kuvert kommer förseglat har du en viss grad av säkerhet att ingen har manipulerat dess innehåll.
Aspose.Cells for Java API tillhandahållacom.aspose.cells.DigitalSignatureCollection & com.aspose.cells.DigitalSignature klasser för att signera kalkylbladen samt validera dem.
Signera kalkylbladen
Signeringsprocessen kräver ett certifikat enligt ovan. Tillsammans med certifikatet bör man också ha sitt lösenord för att framgångsrikt signera kalkylarken med Aspose.Cells API.
Följande kodavsnitt visar användningen av Aspose.Cells for Java API för att signera ett kalkylblad.
// 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"); |
Validerar kalkylbladen
Följande kodavsnitt visar användningen av Aspose.Cells for Java API för att validera kalkylarket.
// 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()); | |
} |