世俱杯 2025

【实用技能】如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名

翻译|使用教程|编辑:吉炜炜|2025-01-08 10:59:40.623|阅读 18 次

概述:本文介绍如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名。示例代码展示了如何从 Azure Key Vault 加载证书以及如何使用该证书对 PDF 文档进行签名。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。

TX Text Control 最新下载

Azure Key Vault 是 Microsoft Azure 提供的一项云服务,用于安全地存储和访问敏感信息(例如 API 密钥、密码、证书和加密密钥)。它充当管理机密和加密操作的中央保管库,为静态和传输中的数据提供强大的保护。

Azure Key Vault 为使用 PFX 证书对 PDF 文档进行签名提供了几个关键优势。最重要的是,它通过将敏感证书存储在集中、高度安全的环境中来提高安全性,从而消除了在本地设备或服务器上暴露的风险。私钥永远不会离开保管库,因为加密操作是在保管库内执行的。

这种方法简化了证书管理,并允许组织集中和简化密钥轮换、撤销和审核。 Azure Key Vault 还提供可扩展性,以无缝满足不断增长的应用程序的需求,同时保持高可用性和强大的性能。合规性是另一个主要优势,因为该服务有助于满足严格的行业标准和法规,例如 GDPR、HIPAA 和 PCI DSS,从而确保数据保护和隐私。

这些优势结合起来,提供了一种安全、可靠且经济高效的方法来管理 PDF 签名和其他加密操作的证书。

Azure Key Vault 中的 PFX 证书

本文介绍如何使用存储在 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名。以下屏幕截图显示了已上传 PFX 证书的 Azure Key Vault 门户:

Azure Key Vault 门户

Azure SDK

Azure 需要以下 NuGet 包:

Azure Key Vault 门户

将 PFX 证书上传到 Azure Key Vault

以下代码展示了将本地 PFX 文件上传到 Azure Key Vault 的一种方法,尽管本文不应重点介绍如何上传证书。如果您拥有适当的用户访问权限,也可以将证书上传到门户。

using System;
using System.Security.Cryptography.X509Certificates;
using Azure.Identity;
using Azure.Security.KeyVault.Certificates;
string keyVaultUrl = "//txtestvault.vault.azure.net/";
string certificateName = "txselfcert";
string password = "123";
// Create a CertificateClient using DefaultAzureCredential for authentication
var credential = new DefaultAzureCredential(true);
var client = new CertificateClient(new Uri(keyVaultUrl), credential);
// Read the PFX file into a byte array
byte[] pfxBytes = await File.ReadAllBytesAsync("certificate.pfx");
// Import the certificate into Key Vault
var importOptions = new ImportCertificateOptions(certificateName, pfxBytes)
{
Password = password
};
var importedCertificate = await client.ImportCertificateAsync(importOptions);
Console.WriteLine($"Certificate '{certificateName}' imported successfully.");

签署 PDF 文档

将 PFX 证书上传到 Azure Key Vault 后,可以使用 Azure SDK 访问该证书并签署 PDF 文档。以下代码片段演示了如何使用存储在 Azure Key Vault 中的 PFX 证书签署 PDF 文档:

using System;
using System.Security.Cryptography.X509Certificates;
using Azure.Identity;
using Azure.Security.KeyVault.Certificates;
using TXTextControl;
string keyVaultUrl = "//txtestvault.vault.azure.net/";
string certificateName = "txselfcert";
// Create a CertificateClient using DefaultAzureCredential for authentication
var credential = new DefaultAzureCredential(true);
var client = new CertificateClient(new Uri(keyVaultUrl), credential);
// Retrieve the certificate from the Azure Key Vault
var certificateWithPolicy = client.GetCertificate(certificateName);
byte[] pfxBytes = certificateWithPolicy.Value.Cer; // Extract the certificate's byte array
// Load the certificate into an X509Certificate2 object for digital signature purposes
var cert = new X509Certificate2(pfxBytes, (string)null, X509KeyStorageFlags.PersistKeySet);
// Initialize TXTextControl to create and save a document with the digital signature
using (var tx = new ServerTextControl())
{
tx.Create();
tx.Text = "Hello, World!";
// Prepare the digital signature for the document
var saveSettings = new SaveSettings
{
DigitalSignature = new DigitalSignature(cert, null)
};
// Save the document as a PDF with the digital signature
tx.Save("result.pdf", StreamType.AdobePDF, saveSettings);
}
Console.WriteLine("PDF saved with digital signature.");

当您在 Acrobat Reader 中打开创建的 PDF 文档时,您可以在签名面板中看到有效的证书。

已签名的 PDF 文档

结论

使用 Azure Key Vault 存储用于 PDF 签名的 PFX 证书,为管理敏感加密操作提供了一种安全、可扩展且合规的解决方案。通过使用 Azure Key Vault,组织可以提高安全性、简化证书管理并确保符合行业标准和法规。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
TX Text Control .NET for WPF

TX Text Control .NET for WPF 分标准,专业,及企业三个版本,是一套专业的文字处理控件。

TX Text Control ActiveX

TX Text Control ActiveX是一个强大的文字处理组件,为开发者提供一个广泛的文字处理功能。它提供了全面的文本格式,邮件合并功能和文字处理关键性功能,如表格支持,图片,页眉和页脚、页面部分等。

TX Text Control .NET for Windows Forms

TX Text Control .NET for Windows Forms 是一套功能丰富的文字处理控件。

TX Text Control .NET Server for ASP.NET

一个将文档处理集成到 Web 应用程序中的文档管理控件。

TX Text Control ActiveX Server

TX Text Control ActiveX Server是一个完全可编程的,用于ASP.NET服务器环境与 Microsoft Internet Explorer的文字处理引擎。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP