首页 > 解决方案 > 使用 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 一起使用吗?

标签: c#pdfsigningx509certificate2evopdf

解决方案


推荐阅读