c# - 使用 EvoPdf 签署 Pdf 文档
问题描述
我正在尝试使用位于本地 PC 商店中的证书签署现有 PDF。根据这篇文章,我确定了他正确的X509Certificate2类型证书。
对于签名,我想使用 EvoPdf(很遗憾,我不能在这里使用 iTextSharp;这会使事情变得更容易)并且用于签名的演示使用不提供信息的DigitalCertificate (尤其是在主题属性中几乎完全不同)两个类)我需要识别正确的证书(我可以从DigitalCertificatesStore.GetCertificates(CertSystemStore.PersonalCertificates)手动识别正确的证书,但这对我没有多大帮助,因为证书可能会改变,我需要一个强大而持久的解决方案。什么我现在做的是第一个:从X509Store(StoreName.My)中识别正确的证书并保留 SerialNumber(String 类型)并将其与DigitalCertificate的 SerialNumber(Byte[] 类型)进行比较,这是获得匹配的最佳更改:
foreach (DigitalCertificate cert in DigitalCertificatesStore.GetCertificates(CertSystemStore.PersonalCertificates))
{
var serialNumber = String.Empty;
foreach (var b in cert.SerialNumber)
{
serialNumber = $"{b:X2}{serialNumber}";
}
if (serialNumber != x509Cert.SerialNumber)
{
continue;
}
this.pdfCertificate = cert;
break;
}
有人对此有更好的解决方案吗?(如何)我可以直接将 x509 证书与 EvoPdf 一起使用吗?
解决方案
推荐阅读
- computer-vision - 计算机视觉读取曲面上的单词/数字
- node.js - 将 sequelize-cli 与多个数据库一起使用
- mule-esb - 减少 Mule 4 中的部署 jar 大小
- sql - 如何在 Microsoft SQL Server 中一次执行多个“插入值”语句
- r - 按顺序行值创建组 ID
- java - 模拟的模拟演员
- css - 有人可以解释我的 WordPress 主题网站上发生的问题吗?
- visual-studio-code - VSCode Q# 扩展安装问题?
- javascript - 动态告警,使用输入信息告警
- json - HTTP 请求后对象属性返回未定义