Spire.XLS for Java offers the Workbook.addDigitalSignature() method and the Workbook.removeAllDigitalSignatures() method to add and remove the Excel digital signatures. This article will show you how to detect if an Excel document has been signed or not, and retrieve information about digital signatures in Java applications.
Install Spire.XLS for Java
First of all, you're required to add the Spire.Xls.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls</artifactId> <version>14.11.0</version> </dependency> </dependencies>
Detect if an Excel is Digitally Signed or Not
Spire.XLS for Java offers the Workbook.isDigitallySigned() method to check whether an Excel document is digitally signed or not.
- Create a Workbook instance and load a sample Excel document using Workbook.loadFromFile() method.
- Determine if the workbook is digitally signed by Workbook.isDigitallySigned() method.
- Print out the results.
- Java
import com.spire.xls.*; public class Test { public static void main(String[] args) throws Exception { //Create a Workbook instance Workbook workbook = new Workbook(); //Load an Excel document workbook.loadFromFile("Sample.xlsx"); //Detect if an Excel Document is digitally signed or not Boolean signature = workbook.isDigitallySigned(); //Print the results if (signature) { System.out.println("Document has been signed"); } else { System.out.println("Document has not been signed"); } } }
Get the Digital Signature Details in Excel
The following are the steps to get the details of the digital signatures in an Excel document.
- Create a Workbook instance and load a sample Excel document using Workbook.loadFromFile() method.
- Get the collection of digital signatures using Workbook.getDigitalSignatures() method.
- Get the details of a specific digital signature using the methods under IDigitalSignature object.
- Java
import com.spire.xls.*; import com.spire.xls.core.interfaces.IDigitalSignature; import com.spire.xls.core.interfaces.IDigitalSignatures; import java.security.PrivateKey; import java.security.cert.X509Certificate; import java.util.Date; public class Test { public static void main(String[] args) throws Exception { //Create a Workbook instance Workbook workbook = new Workbook(); //Load an Excel document workbook.loadFromFile("Sample01.xlsx"); //Get the collection of digital signatures IDigitalSignatures signatures = workbook.getDigitalSignatures(); //Get the details of digital signatures for (IDigitalSignature digitalSignature : (Iterable) signatures) { X509Certificate info = digitalSignature.getX509Certificate(); PrivateKey privateKey = digitalSignature.getPrivateKey(); String comment = digitalSignature.getComments(); Date date = digitalSignature.getSignTime(); //Print out the results of the Excel digital signature System.out.println("Signatature Certificate:" + info + "\n" + "Signature Comment:" + comment + "\n" + "Sign Date:" + date + "\n" + "PrivateKey:" + privateKey + "\n"); } } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.