Возможно, вы можете использовать отдельную подпись.
Вы можете создать подпись , используя следующий код:
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 - это байтовый массив вашего файла подписи
. Скажите, сработало ли это =)