繁体   English   中英

在 ASP.NET Core 中签署 MS PowerPoint 宏

[英]Sign MS PowerPoint macros in ASP.NET Core

由于我们的公司演示文稿模板中有用于显示幻灯片编号等内容的宏,因此从不受信任的来源运行宏会存在安全风险。 MS office 允许签署宏项目 这个想法是签署那些内部宏文件并禁止执行未签署的宏。 对于中型公司来说,这个过程是无法手动处理的。

为了构建允许用户签署宏的 ASP.NET Core Web 应用程序,我发现aspose是唯一可以签署 PowerPoint 和 MS Excel 的解决方案。 它还有一个名为 Aspose.Slides 的子项目,可以处理 PowerPoint 文件。 我在 Excel 和 Word 上制作了一个工作 POC,但不适用于 PowerPoint。 该文档仅显示如何创建/编辑/删除现有宏:

string macroTestFilePath = @"Path\To\Testfile.pptm";
var presentation = new Presentation(macroTestFilePath);
var firstVbModule = presentation.VbaProject.Modules.FirstOrDefault();

这个例子让我访问我的测试宏代码,但我无法在演示对象上找到像VbaProject这样的属性或类似的东西来签署它,就像在Aspose.Cells上可能的那样:

Workbook wb = new Workbook(dataDir + "Book1.xlsm");
X509Certificate2 cert = new X509Certificate2("SampleCert.pfx", "1234");
DigitalSignature ds = new DigitalSignature(cert, "Signing Digital Signature using Aspose.Cells", DateTime.Now);
wb.VbaProject.Sign(ds);
wb.Save("DigitallySigned_out.xlsm");

如何使用 ASP.NET Core 对 MS PowerPoint 文件进行签名? 这对 Aspose.Slides 是否可行,或者是否有任何其他库?

首选支持 Linux 的 ASP.NET Core,因为我们希望在 Docker/Kubernetes 上运行应用程序。 Windows解决方案只有在没有其他办法的情况下。

Aspose.Slides 还不支持唱歌 VBAProject,但我已经在 ID SLIDESNET-41589下添加了这个任务,它将在最近的版本中准备就绪。

请在发行说明页面查看更新。

注意:我在 Aspose 担任开发人员布道师。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM