КриптоПро как подписать файл, если токен на флешке
От: dsalodki Беларусь http://dsalodki.wix.com/resume
Дата: 07.07.24 13:37
Оценка:
Скажите пожалуйста нужно ли файл сертификата грузить в базу или он будет на флешке?
GPT такое выдал
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

class Program
{
    static void Main()
    {
        // Получаем доступ к сертификату с флешки CryptoPro
        X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly);
        
        X509Certificate2Collection certificates = store.Certificates.Find(X509FindType.FindBySubjectName, "Ваше имя сертификата", false);

        if (certificates.Count > 0)
        {
            X509Certificate2 certificate = certificates[0];

            // Создаем объект для работы с ЭЦП
            RSACryptoServiceProvider csp = (RSACryptoServiceProvider)certificate.PrivateKey;

            // Подписываем данные
            byte[] dataToSign = System.Text.Encoding.UTF8.GetBytes("Данные для подписи");
            byte[] signature = csp.SignData(dataToSign, CryptoConfig.MapNameToOID("SHA256"));

            // Проверяем подпись
            bool verified = csp.VerifyData(dataToSign, CryptoConfig.MapNameToOID("SHA256"), signature);

            if (verified)
            {
                Console.WriteLine("Подпись верна!");
            }
            else
            {
                Console.WriteLine("Подпись недействительна.");
            }
        }
        else
        {
            Console.WriteLine("Сертификат не найден.");
        }

        store.Close();
    }
}


Store я думал это реестр, но похоже может быть и файл, если правильно понял код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.