Как подписать документ Excel цифровой подписью с помощью Java

В этой четкой статье содержится вся информация о том, как поставить цифровую подпись в документе Excel с помощью Java. Он содержит логические шаги, необходимые для выполнения этой задачи программным путем, а также исполняемый пример кода для вставки электронной подписи в Excel с использованием Java. Вы также научитесь настраивать этот процесс, чтобы использовать PFX для создания цифровой подписи, а затем помещать эту подпись в файл Excel перед ее сохранением в виде файла XLSX или в любом другом поддерживаемом формате.

Шаги по созданию цифровой подписи в Excel с использованием Java

  1. Настройте среду для использования Aspose.Cells из репозитория для подписи файла Excel.
  2. Создайте экземпляр хранилища ключей и загрузите сертификат, используя имя файла сертификата и пароль.
  3. Создайте digital signature, используя указанное выше хранилище ключей и пароль закрытого ключа.
  4. Укажите комментарии, дату и время подписания цифровой подписи.
  5. Создайте коллекцию цифровых подписей и добавьте в нее только что созданную цифровую подпись.
  6. Загрузите workbook и добавьте в него коллекцию цифровых подписей.
  7. Сохраните книгу с цифровой подписью

Эти шаги описывают процедуру как создать электронную подпись в Excel с помощью Java. Представлен пошаговый процесс, в котором сначала создается хранилище ключей с использованием сертификата PFX и пароля закрытого ключа, затем создается коллекция цифровых подписей, и в эту коллекцию добавляется новая цифровая подпись, созданная с помощью хранилища ключей. На последнем этапе загружается целевая рабочая книга, и в нее добавляется коллекция цифровых подписей.

Код для размещения цифровой подписи в Excel с использованием Java

import java.io.FileInputStream;
import java.io.InputStream;
import com.aspose.cells.DigitalSignature;
import com.aspose.cells.DigitalSignatureCollection;
import com.aspose.cells.Workbook;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to add a digital signature to a spreadsheet in java
// Instantiate a license
com.aspose.cells.License slidesLicense = new com.aspose.cells.License();
slidesLicense.setLicense("Aspose.Total.lic");
// Using the cryptography PKCS12, create a Keystore
java.security.KeyStore keyStore = java.security.KeyStore.getInstance("PKCS12");
// Load certificate into the InputStream
InputStream inStreamCert = new FileInputStream("TestCert1.pfx");
// Load the certificate into the Keystore by providing the certificate file and its password
keyStore.load(inStreamCert, "testcert1".toCharArray());
// Create the digital signature
DigitalSignature digtSign = new DigitalSignature(keyStore, "testcert1", "New digital signature is added to a workbook",com.aspose.cells.DateTime.getNow());
// Instantiate a collection of digital signatures
DigitalSignatureCollection digtSignColl = new DigitalSignatureCollection();
// Add the digital signature to the collection
digtSignColl.add(digtSign);
// Load the spreadsheet
Workbook wbToBeSigned = new Workbook("sampleSpreadsheet.xlsx");
// Add the collection of digital signatures to the workbook
wbToBeSigned.addDigitalSignature(digtSignColl);
// Save the workbook with an electronic signature
wbToBeSigned.save("outputDigitallySignedByCells.xlsx");
System.out.println("Done");
}
}

В этом коде для цифровой подписи Excel с помощью Java хранилище ключей создается с использованием криптографии PKCS12, а затем в него загружается файл сертификата. DigitalSignature создается путем предоставления хранилища ключей, пароля закрытого ключа, комментариев и времени подписи, предоставленного пользователем, однако вы также можете добавить изображение подписи, идентификатор поставщика и XAdESType. Выходную книгу можно сохранить в любом из поддерживаемых форматов, таких как XLSX, XLS, XLSM, ODS, XLSB и т. д.

В этом руководстве описан процесс цифровой подписи файла Excel, однако, если вы хотите изучить процесс преобразования Excel в изображение, обратитесь к статье как преобразовать листы Excel в изображение в Java.

 Русский