Замените CAPICOM на .NET, подтвердите сертификат - PullRequest
2 голосов
/ 10 мая 2010

Мой компонент отвечает за загрузку файлов с сервера. В рамках проверки файла я использовал CAPICOM (объект SignedCode), чтобы проверить, содержит ли сертификат конкретную строку, и вызвать метод Validate объекта SignedCode. Если файл содержит сертификат без запрошенной строки в имени, пользователю будет предложено, если он доверяет этому файлу.

Поскольку CAPICOM устареет от Microsoft, мне нужно реализовать эту логику с использованием библиотек .NET. Как я могу получить ту же функциональность, используя библиотеки .NET? Есть ли какой-нибудь пример в сети?

Спасибо Заки

1 Ответ

0 голосов
/ 10 мая 2010
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);
}
...