2010-05-10 77 views
2

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

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

感谢 扎基

回答

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

喜 我关心的是上签了字码的验证码签名的验证。 替换CAPICOM:ISignedCode ::使用X509Certificates库验证... – Zaky 2010-05-11 12:00:53