我们对使用the Aspose Library来在ASP.NET Core 2.2中签名MS Excel宏进行了概念验证:
var cert = new X509Certificate2(certPath,certPass,X509KeyStorageflags.DefaultKeySet);
Workbook workbook = new Workbook(fileStream);
if (workbook.HasMacro)
{
var xl = new ExcelPackage(fileStream);
var wb = xl.Workbook;
wb.VbaProject.Signature.Certificate = cert;
// Signed excel file
byte[] outputBuffer = xl.GetasByteArray();
}
这有效,但是它是专有库。我找不到不需要安装MS软件的OS库,这限制了Windows Server的使用。我想在Docker / Kubernetes上使用开源ASP.NET Core框架进行部署。
是否有其他方法可以在不需要Windows的情况下在ASP.NET Core上签名MS宏(主Word,Excel和PowerPoint)?我们目前使用2.2,但如果可行的解决方案需要它,则可以升级到3.0。唯一的条件是支持该平台(因此,不支持ASP.NET Core 1.0(即EOL))。