是否可以使用EPPlus将数字签名添加到excel文档并验证现有excel文档的数字签名?
答案 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是签名文件的字节数组
告诉我它是否有效=)