Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SlavaX202210  
#1 Оставлено : 31 октября 2022 г. 7:40:21(UTC)
SlavaX202210

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.10.2022(UTC)
Сообщений: 4
Российская Федерация

Здравствуйте

В программе использую подпись формата CAdES-X Long Type 1, соответственно задействованы TSP и OCSP сервисы.

Есть небольшая программа для тестирования. Часть кода привожу ниже. Полная версия во вложении.
Код:

        /// <summary>
        /// Подписывает документ
        /// </summary>
        /// <param name="serialNumber">Серийный номер сертификата</param>
        /// <param name="documentData">Представление документа в Base64</param>
        /// <param name="tsaUrl">Адрес сервера штампов времени</param>
        /// <returns>Подпись в Base64</returns>
        public static string Sign(string serialNumber, string documentData, string tsaUrl)
        {
            // открывает хранилище сертификатор текущего пользователя
            var store = new CAPICOM.Store();
            store.Open();

            try
            {
                // находим по кривому сертификат по серийному номеру
                ICertificate certificate = null;
                foreach (ICertificate cert in store.Certificates)
                {
                    if (
                        cert.SerialNumber.Trim().Replace(" ", "").ToLower(CultureInfo.InvariantCulture) ==
                        serialNumber.Trim().Replace(" ", "").ToLower(CultureInfo.InvariantCulture)
                    )
                    {
                        certificate = cert;
                        break;
                    }
                }

                if (certificate == null) throw new Exception($"Не нашли сертификат с сер.номером: {serialNumber}");

                // указываем сервер времени и сертификат
                var signer = new CAdESCOM.CPSigner { TSAAddress = tsaUrl, Certificate = certificate };

                // передаем документ в base64
                var signedData = new CadesSignedData
                {
                    ContentEncoding = CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY,
                    Content = documentData
                };

                // подписываем
                return signedData.SignCades(signer, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
            }
            finally
            {
                store.Close();
            }
        }

        /// <summary>
        /// Добавляет подпись к уже подписанному документу
        /// </summary>
        /// <param name="serialNumber">Серийный номер сертификата</param>
        /// <param name="documentData">Представление документа в Base64</param>
        /// <param name="signatureData">Файл подписи полученный от предыдущего подписывания в Base64</param> 
        /// <param name="tsaUrl">Адрес сервера штампов времени</param>
        /// <returns>Подпись в Base64</returns>
        public static string CoSign(string serialNumber, string documentData, string signatureData, string tsaUrl)
        {
            var store = new CAPICOM.Store();
            store.Open();

            try
            {
                ICertificate certificate = null;
                foreach (ICertificate cert in store.Certificates)
                {
                    if (
                        cert.SerialNumber.Trim().Replace(" ", "").ToLower(CultureInfo.InvariantCulture) ==
                        serialNumber.Trim().Replace(" ", "").ToLower(CultureInfo.InvariantCulture)
                    )
                    {
                        certificate = cert;
                        break;
                    }
                }

                if (certificate == null) throw new Exception($"Не нашли сертификат с сер.номером: {serialNumber}");

                var signer = new CAdESCOM.CPSigner { TSAAddress = tsaUrl, Certificate = certificate };
                var signedData = new CadesSignedData
                {
                    ContentEncoding = CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY,
                    Content = documentData
                };

                // проверяем предыдущие подписи
                signedData.VerifyCades(signatureData, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true);

                return signedData.CoSignCades(signer, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
            }
            finally
            {
                store.Close();
            }
        }


С апреля месяца все работало корректно.
С сегодняшнего дня 31.10.2022 с 03.00 (Москва) перестало работать.

Выдает ошибку
Цитата:

(0x80072F78): Сервер вернул недопустимый или нераспознанный ответ


на функции
Цитата:
CAdESCOM.ICPSignedData5.SignCades


Версии ПО:
КриптоПро CSP - 5.0.11998
КриптоПро TSP - 2.0
КриптоПро OCSP - 2.0
cades - 2.0.14590
Windows 10 Pro 1909


Подскажите, пожалуйста, что может быть?

Спасибо.

OCSPTest.zip (5kb) загружен 6 раз(а).
Offline SlavaX202210  
#2 Оставлено : 31 октября 2022 г. 7:54:31(UTC)
SlavaX202210

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.10.2022(UTC)
Сообщений: 4
Российская Федерация

Offline SlavaX202210  
#3 Оставлено : 31 октября 2022 г. 8:02:58(UTC)
SlavaX202210

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.10.2022(UTC)
Сообщений: 4
Российская Федерация

Лог во вложении

DESKTOP-SF9VCSD.LOG (10kb) загружен 4 раз(а).
Offline SlavaX202210  
#4 Оставлено : 31 октября 2022 г. 8:23:14(UTC)
SlavaX202210

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.10.2022(UTC)
Сообщений: 4
Российская Федерация

Дело в сертификате изданным ФНС.
С сертификатом от Тензор проблем нет.


Сведения с ключа налоговой
Цитата:
[1]Доступ к сведениям центра сертификации
Метод доступа=Протокол определения состояния сертификата через сеть (1.3.6.1.5.5.7.48.1)
Дополнительное имя:
URL=http://pki.tax.gov.ru/ocsp01/ocsp.srf
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://pki.tax.gov.ru/crt/ca_fns_russia_2022_01.crt
[3]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://c0000-app005/crt/ca_fns_russia_2022_01.crt
[4]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://uc.nalog.ru/crt/ca_fns_russia_2022_01.crt

Offline Юля0011  
#5 Оставлено : 6 февраля 2023 г. 12:47:34(UTC)
Юля0011

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.02.2023(UTC)
Сообщений: 7
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Привет, при попытке построить цепочку сертификатов для КСКПЭП, выданного юридическому лицу у меня в Личном сертификате Дополнительное имя сожержит файл формата ocsp.srf и я не понимаю как я могу его открыть чтобы построить эту ёбаную цепочку, потому что это вообще не сертификат. Либо в налоговой что-то сделали не так, либо я что-то не понимаю. Подскажите в чём может быть дело?
Online Андрей *  
#6 Оставлено : 6 февраля 2023 г. 13:35:04(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,158
Мужчина
Российская Федерация

Сказал «Спасибо»: 618 раз
Поблагодарили: 2387 раз в 1878 постах
Автор: Юля0011 Перейти к цитате
Привет, при попытке построить цепочку сертификатов для КСКПЭП, выданного юридическому лицу у меня в Личном сертификате Дополнительное имя сожержит файл формата ocsp.srf и я не понимаю как я могу его открыть чтобы построить эту ёбаную цепочку, потому что это вообще не сертификат. Либо в налоговой что-то сделали не так, либо я что-то не понимаю. Подскажите в чём может быть дело?


Здравствуйте.

Это для программной онлайн проверки статуса по протоколу OCSP.

Вам требуется скачивать сертификаты, в URL обычно с расширением: .cer \ .crt
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Юля0011 оставлено 06.02.2023(UTC)
Offline Юля0011  
#7 Оставлено : 6 февраля 2023 г. 14:06:45(UTC)
Юля0011

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.02.2023(UTC)
Сообщений: 7
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен
Online Андрей *  
#8 Оставлено : 6 февраля 2023 г. 14:27:20(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,158
Мужчина
Российская Федерация

Сказал «Спасибо»: 618 раз
Поблагодарили: 2387 раз в 1878 постах
Автор: Юля0011 Перейти к цитате
11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен


Вы пытаетесь войти с сертификатом ИП в ЛК ЮЛ?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Юля0011 оставлено 06.02.2023(UTC)
Offline Юля0011  
#9 Оставлено : 6 февраля 2023 г. 14:33:41(UTC)
Юля0011

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.02.2023(UTC)
Сообщений: 7
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Автор: Андрей * Перейти к цитате
Автор: Юля0011 Перейти к цитате
11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен


Вы пытаетесь войти с сертификатом ИП в ЛК ЮЛ?


Да))) в этом и была ошибка)) спасибо. Уже зарегистрировалась)

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.