Тази ясна статия съдържа цялата информация за как да подпишете цифрово документ на Excel с помощта на Java. Той съдържа логическите стъпки, необходими за програмно изпълнение на тази задача, заедно с изпълним примерен код за вмъкване на електронен подпис в Excel с помощта на Java. Освен това ще научите как да персонализирате този процес, за да използвате PFX за създаване на цифров подпис и след това да поставите този подпис във файла на Excel, преди да го запишете като XLSX файл или във всеки друг поддържан формат.
Стъпки за създаване на цифров подпис в Excel с помощта на Java
- Конфигурирайте средата да използва Aspose.Cells от хранилището за подписване на файла на Excel
- Създайте екземпляр на Keystore и заредете сертификата, като използвате името и паролата на файла на сертификата
- Създайте digital signature, като използвате горното хранилище за ключове и паролата за частния ключ
- Въведете коментари, дата на подписване и час за цифровия подпис
- Създайте колекция от цифрови подписи и добавете новосъздадения цифров подпис към нея
- Заредете workbook и добавете колекцията от цифрови подписи към него
- Запазете цифрово подписаната работна книга
Тези стъпки описват процедурата как да създадете електронен подпис в 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.