小编Rig*_*oni的帖子

是否可以签署包含时间戳的 Excel VBA 项目?

我使用数字签名自动对 Excel 文件中的 VBA 代码进行签名,使用 X509Certificate2 和 EPPlus 时效果很好。现在我想包括一个时间戳,知道我可以在哪里设置吗?

如果我在 VBA 编辑器 - 工具 - 数字签名中手动对代码进行签名,则该代码带有时间戳(和副签名)。因此,当签名人的证书过期时,它仍然有效。但是当使用 EPPlus 签名时则不然。在 ExcelVBASignature.cs 中,看起来这个函数还没有准备好..

到目前为止,我是这样做的:

using System;
using System.IO;
using OfficeOpenXml;
using System.Security.Cryptography.X509Certificates;
...
X509Certificate2 cert = new X509Certificate2 ( PFXfile, PFXpass, X509KeyStorageFlags.PersistKeySet );
using ( ExcelPackage xl = new ExcelPackage ( new System.IO.FileInfo ( Excelfile ) ) )
{
    using ( ExcelWorkbook wb = xl.Workbook )
    {
        wb.VbaProject.Signature.Certificate = cert;
        xl.SaveAs ( new System.IO.FileInfo ( TargetPath ) );
    }
}
Run Code Online (Sandbox Code Playgroud)

vba digital-signature epplus

2
推荐指数
1
解决办法
2453
查看次数

标签 统计

digital-signature ×1

epplus ×1

vba ×1