我的组件负责从服务器下载文件。作为文件验证的一部分,我使用 CAPICOM(SignedCode 对象)来验证证书是否包含特定字符串并调用 SignedCode 对象的 Validate 方法。如果文件包含名称中没有请求字符串的证书,则会提示用户是否信任该文件。
由于 CAPICOM 将被 Microsoft 弃用,我需要使用 .NET 库来实现这些逻辑。如何使用 .NET 库获得相同的功能?网上有没有例子?
谢谢扎基
我的组件负责从服务器下载文件。作为文件验证的一部分,我使用 CAPICOM(SignedCode 对象)来验证证书是否包含特定字符串并调用 SignedCode 对象的 Validate 方法。如果文件包含名称中没有请求字符串的证书,则会提示用户是否信任该文件。
由于 CAPICOM 将被 Microsoft 弃用,我需要使用 .NET 库来实现这些逻辑。如何使用 .NET 库获得相同的功能?网上有没有例子?
谢谢扎基
using System.Security.Cryptography;
// ....
byte[] SignData(byte[] toSign)
{
RSACryptoServiceProvider rsaCert =
GetCertificateWithPrivateKeyFromSomewhere(); // this method is yours
return rsaCert.SignData(toSign, new SHA1CryptoServiceProvider());
}
bool VerifyData(byte[] toVerify, byte[] signature)
{
RSACryptoServiceProvider rsaCert =
GetCertificateWithPublicKeyFromSomewhere(); // this method is yours
return rsaCert.VerifyData(toVerify, new SHA1CryptoServiceProvider(), signature);
}