Подписывание и проверка цифровых подписей с помощью Node.js через C++

Введение

Используйте диалоговое окно цифровой подписи для прикрепления цифровой подписи. Диалоговое окно цифровой подписи перечисляет действительные сертификаты. Вы можете использовать диалоговое окно цифровой подписи для просмотра сертификатов и выбора нужного. Если у рабочей книги есть цифровая подпись, имя подписи отображается в поле Имя сертификата. Если вы щелкнете кнопку Удалить в диалоговом окне цифровой подписи, Microsoft Excel также удалит цифровую подпись.

Как добавить цифровую подпись в Excel

Aspose.Cells предоставляет модуль DigitalSignature для выполнения задачи (подписывать и проверять цифровые подписи). Модуль обладает полезными функциями для добавления и проверки цифровых подписей.

Пожалуйста, посмотрите следующий пример кода, который показывает, как выполнить задачу с помощью API Aspose.Cells for Node.js via C++.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const certPassword = "aa";

// dsc is signature collection that contains one or more signatures needed to sign
const dsc = new AsposeCells.DigitalSignatureCollection();

// Cert must contain a private key, it can be constructed from a cert file or Windows certificate collection.
const cert = new AsposeCells.DigitalSignature(dataDir + "mykey2.pfx", certPassword, "test for sign", new Date());
dsc.add(cert);

const wb = new AsposeCells.Workbook();

// wb.setDigitalSignature signs all signatures in dsc
wb.setDigitalSignature(dsc);
wb.save(path.join(dataDir, "newfile_out.xlsx"));

// open the file
const wb2 = new AsposeCells.Workbook(path.join(dataDir, "newfile_out.xlsx"));
console.log(wb2.isDigitallySigned);

// Get digitalSignature collection from workbook
const dsc2 = wb2.getDigitalSignature();
const digitalSignatures = dsc2.getEnumerator();
for (var dst of digitalSignatures)
{
    console.log(dst.getComments()); // test for sign - OK
    console.log(dst.getSignTime()); // 11/25/2010 1:22:01 PM - OK
    console.log(dst.isValid()); // True - OK
}

Продвинутые темы