package com.aspose.cells.examples.articles;
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.KeyStore;
import com.aspose.cells.DateTime;
import com.aspose.cells.DigitalSignature;
import com.aspose.cells.DigitalSignatureCollection;
import com.aspose.cells.Workbook;
import com.aspose.cells.examples.Utils;
public class SigningSpreadsheets {
public static void main(String[] args) throws Exception {
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(SigningSpreadsheets.class) + "articles/";
// 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 + "SSpreadsheets_out.xlsx");
}
}