EPPlus - Как удалить цифровую подпись - PullRequest
0 голосов
/ 17 апреля 2020

Я хотел бы удалить цифровую подпись из файла макроса Excel с подписью VBA. Однако, когда я смотрю на библиотеку EPPlus, я вижу, что свойство «Подпись» доступно только для чтения, и установка сертификата в значение null, похоже, не удаляет его, а только делает недействительной подпись в файле:

using (ExcelPackage xlPackage = new ExcelPackage(fiNew))
{
    xlPackage.Workbook.VbaProject.Signature.Certificate = null;
    xlPackage.Save();
}

Вызов метода dispose также не работает, ошибки сохраняются. Кто-нибудь знает, как это сделать в EPPlus?

1 Ответ

0 голосов
/ 06 мая 2020

Глядя на источник , просто предоставьте сертификат без закрытого ключа - см. Строку 137.

        internal void Save(ExcelVbaProject proj)
        {
            if (Certificate == null)
            {
                return;
            }

            if (Certificate.HasPrivateKey==false)    //No signature. Remove any Signature part
...