我想从VBA签名的excel宏文件中删除digital signature。但是,当我查看EPPlus的库时,我发现“ Signature”属性是只读的,并且将Certificate设置为null似乎不会删除它,只会使文件中的签名无效:
using (ExcelPackage xlPackage = new ExcelPackage(fiNew))
{
xlPackage.Workbook.VbaProject.Signature.Certificate = null;
xlPackage.Save();
}
调用dispose方法也不起作用,保存时出错。有人知道如何在EPPlus中执行此操作吗?
查看source仅提供没有私钥的证书-参见第137行。
internal void Save(ExcelVbaProject proj)
{
if (Certificate == null)
{
return;
}
if (Certificate.HasPrivateKey==false) //No signature. Remove any Signature part