用.NET替换CAPICOM,验证证书

时间:2010-05-10 11:23:26

标签: c# certificate x509certificate deprecated capicom

我的组件负责从服务器下载文件。作为文件验证的一部分,我使用CAPICOM(SignedCode对象)来验证证书是否包含特定字符串并调用SignedCode对象的Validate方法。如果文件包含名称中没有请求字符串的证书,则会提示用户是否信任该文件。

由于CAPICOM将被Microsoft弃用,我需要使用.NET库来实现这些逻辑。 如何使用.NET库获得相同的功能? 网上有什么例子吗?

由于 扎基

1 个答案:

答案 0 :(得分:0)

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);
}