gpt4 book ai didi

c# - EPPlus - 创建和验证数字签名

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:09 26 4
gpt4 key购买 nike

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

最佳答案

也许您可以使用分离签名。

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

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 是签名文件的字节数组

告诉我它是否有效 =)

关于c# - EPPlus - 创建和验证数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com