EPPlus-创建和验证数字签名

时间:2018-12-06 09:53:32

标签: c# .net epplus

是否可以使用EPPlus将数字签名添加到excel文档并验证现有excel文档的数字签名?

1 个答案:

答案 0 :(得分:0)

也许您可以使用独立签名。

您可以使用以下代码创建签名

X509Certificate2 certificate = new X509Certificate2(certPath, password);

byte[] signature;

using (RSA rsa = certificate.GetRSAPrivateKey())
{
    signature = rsa.SignData(data, HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1);
}

其中数据是字节数组

然后将其存储到外部文件

验证签名,您需要xlsx文件和外部签名文件。

然后您可以使用以下代码验证签名

X509Certificate2 publicCertificate = new X509Certificate2(certPath);

var valid = false;
using (RSA rsa = publicCertificate.GetRSAPublicKey())
{
    valid = rsa.VerifyData(fileData, signatureData, HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1);
}

其中fileData是xlsx文件的字节数组,signatureData是签名文件的字节数组

告诉我它是否有效=)