簡體   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