在 Excel 中签名

使用 C# .NET 在 Excel(XLS, XLSX) 中添加数字签名

在当今的数字时代,文档安全已成为个人和组织的头等大事。随着对电子文档的依赖程度越来越高,确保我们共享的文件真实且未被篡改变得非常重要。 Excel 就是一种广泛用于存储和共享重要数据的工具,因此拥有一种可靠的方法来验证文件的完整性至关重要。这就是数字签名的用武之地——它们提供了一种安全的方式来签署和验证电子文档,确保文件在签署后没有被更改。在本文中,我们将探讨如何使用 C# .NET 对 Excel 文件进行数字签名。

对 Excel 进行数字签名的 API

Aspose.Cells Cloud SDK for .NET 是一个功能强大的 API,它提供了一系列用于在云中处理 Excel 文件的功能。其关键功能之一是能够对 Excel 文件进行数字签名,从而提供一种安全的方式来验证和验证电子文档。使用 Aspose.Cells Cloud SDK,用户可以使用包括数字证书在内的一系列签名类型轻松地签署他们的 Excel 文件。让我们探索API的能力,确保电子文档的完整性和真实性。

首先,在 NuGet 包管理器中搜索 Aspose.Cells-Cloud,然后单击“添加包”按钮。此外,如果您没有 Dashboard 的帐户,请使用有效的电子邮件地址创建一个免费帐户。

使用C#添加电子签名

请使用以下代码片段对 Excel 文件进行数字签名。

// 如需完整示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// 在传递 ClientID 和 ClientSecret 时创建 CellsApi 实例
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// 驱动器上的第一个 Excel 工作簿
string input_Excel = "source.xlsx";
// 数字证书名称
string signature_File = "test1234.pfx";

try
{
    // 读取Excel文件并上传到云存储
    cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));
    
    // 读取数字证书并上传到云存储
    cellsInstance.UploadFile(signature_File, File.OpenRead(signature_File));

    // 初始化数字签名操作
    var response = cellsInstance.CellsWorkbookPostDigitalSignature(input_Excel, signature_File, "test1234");

    // 如果连接成功则打印成功信息
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Digital Signature added successfully !");
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

下面给出了有关代码段的详细信息:

CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

创建一个 CellsApi 对象,同时将客户端凭据作为参数传递。

cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));    
cellsInstance.UploadFile(signature_File, File.OpenRead(signature_File));

从本地驱动器读取输入的Excel和数字签名的内容并上传到云存储。

var response = cellsInstance.CellsWorkbookPostDigitalSignature(input_Excel, signature_File, "test1234");

调用 API 对 Excel 进行数字签名并将输出保存到云存储。请注意,最后一个参数是证书文件的密码。

上例中使用的Excel可以从myDocument.xlsx下载。

使用 cURL 命令添加 Excel 数字签名

在 Excel 中使用 cURL 命令和 Aspose.Cells Cloud API 进行数字签名有几个好处。这种方法高效且易于使用,允许您使用很少的 API 请求对 Excel 文件进行签名。与手动签署每个文档相比,这可以节省您的时间和精力。其次,由于这种方法是基于云的,因此您可以从任何地方访问它并将其轻松集成到您现有的工作流程中。总的来说,在 Excel 中使用 cURL 命令和 Aspose.Cells Cloud API 进行数字签名是一个强大而灵活的解决方案。它简化了您的签名过程并增强了 Excel 文件的安全性和可靠性。

现在,您需要在系统上安装 cURL,然后根据客户端凭据生成 accessToken:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

使用以下命令将输入的 Excel 和数字签名上传到云存储(您需要调用此命令两次才能上传单个文件):

curl -v "https://api.aspose.cloud/v3.0/cells/storage/file/{filePath}" \
-X PUT \
-F file=@{localFilePath} \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {accessToken}"

{filePath} 替换为您要在云存储中存储文件的路径,将 {localFilePath} 替换为本地系统上 Excel 的路径,并将 {accessToken} 替换为您的 Aspose Cloud 访问令牌(上面生成)。

最后,执行以下命令为Excel文件添加数字签名:

curl -v "https://api.aspose.cloud/v3.0/cells/{excelName}/digitalsignature?digitalsignaturefile={DigitalSignature}&password=test1234" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}"

{excelName} 替换为云存储中 Excel 文件的名称,将 {DigitalSignature} 替换为来自云存储的数字证书的名称,并将 {accessToken} 替换为上面生成的访问令牌。 执行成功后,更新后的 Excel 将存储在同一个云存储中。

结束语

总之,Excel 中的数字签名是确保电子表格真实性和完整性的一个重要方面。因此,cURL 命令和 Aspose.Cells Cloud API 提供了一种安全可靠的方式来以编程方式对 Excel 文件进行签名,从而节省您的时间和精力,同时增强数据的安全性和可靠性。使用 Aspose.Cells Cloud,您可以根据您的特定要求自定义签名过程,无论是指定位置、设置密码保护还是其他选项。总的来说,这种在 Excel 中添加数字签名的方法是一种高效、灵活且安全的解决方案,可以简化您的工作流程,让您高枕无忧,因为您知道您的 Excel 文件是值得信赖和准确的。

有用的链接

推荐文章

请访问以下链接以了解更多信息: