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

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

Стъпки за създаване на цифров подпис в Excel с помощта на Java

  1. Конфигурирайте средата да използва Aspose.Cells от хранилището за подписване на файла на Excel
  2. Създайте екземпляр на Keystore и заредете сертификата, като използвате името и паролата на файла на сертификата
  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 се създава Keystore с помощта на криптографията PKCS12 и след това файлът със сертификата се зарежда в него. Цифровият подпис се създава чрез предоставяне на хранилище за ключове, парола за частен ключ, коментари и време за подпис, предоставено от потребителя, но можете също да добавите изображение на подпис, идентификатор на доставчик и XAdESType. Изходната работна книга може да бъде записана във всеки от поддържаните формати като XLSX, XLS, XLSM, ODS, XLSB и др.

Този урок споделя процеса за цифрово подписване на Excel файл, но ако искате да научите процеса за конвертиране на Excel в изображение, вижте статията на как да конвертирате листове на Excel в изображение в Java.

 Български