Статус: Новичок
Группы: Участники
Зарегистрирован: 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 раз(а).
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2022(UTC) Сообщений: 4 
|
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2022(UTC) Сообщений: 4 
|
Лог во вложении  DESKTOP-SF9VCSD.LOG (10kb) загружен 4 раз(а).
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.02.2023(UTC) Сообщений: 7  Сказал(а) «Спасибо»: 3 раз
|
Привет, при попытке построить цепочку сертификатов для КСКПЭП, выданного юридическому лицу у меня в Личном сертификате Дополнительное имя сожержит файл формата ocsp.srf и я не понимаю как я могу его открыть чтобы построить эту ёбаную цепочку, потому что это вообще не сертификат. Либо в налоговой что-то сделали не так, либо я что-то не понимаю. Подскажите в чём может быть дело?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,158   Сказал «Спасибо»: 618 раз Поблагодарили: 2387 раз в 1878 постах
|
Автор: Юля0011  Привет, при попытке построить цепочку сертификатов для КСКПЭП, выданного юридическому лицу у меня в Личном сертификате Дополнительное имя сожержит файл формата ocsp.srf и я не понимаю как я могу его открыть чтобы построить эту ёбаную цепочку, потому что это вообще не сертификат. Либо в налоговой что-то сделали не так, либо я что-то не понимаю. Подскажите в чём может быть дело? Здравствуйте. Это для программной онлайн проверки статуса по протоколу OCSP. Вам требуется скачивать сертификаты, в URL обычно с расширением: .cer \ .crt |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.02.2023(UTC) Сообщений: 7  Сказал(а) «Спасибо»: 3 раз
|
 11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,158   Сказал «Спасибо»: 618 раз Поблагодарили: 2387 раз в 1878 постах
|
Автор: Юля0011   11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен Вы пытаетесь войти с сертификатом ИП в ЛК ЮЛ? |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.02.2023(UTC) Сообщений: 7  Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей *  Автор: Юля0011   11.png (146kb) загружен 16 раз(а). 22.png (131kb) загружен 14 раз(а).Спасибо. Я скачала все сертификаты и установила, но видимо что-то делаю не так и всё равно цепочка не формируется и выдаёт ошибку как будто Личный сертификат не установлен Вы пытаетесь войти с сертификатом ИП в ЛК ЮЛ? Да))) в этом и была ошибка)) спасибо. Уже зарегистрировалась)
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close