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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline MZ_st  
#1 Оставлено : 12 ноября 2012 г. 18:10:38(UTC)
MZ_st

Статус: Участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 13

Отредактировано пользователем 16 ноября 2012 г. 8:58:01(UTC)  | Причина: Не указана

Offline MZ_st  
#2 Оставлено : 13 ноября 2012 г. 15:12:21(UTC)
MZ_st

Статус: Участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 13

В каком направлении копать на Send вылетает

byte* TSPServSupp::RequestTS(byte* in, int dsize)
{
byte* res = NULL;

CryptoPro::PKI::TSP::Client::CRequest* req = new CryptoPro::PKI::TSP::Client::CRequest();
CryptoPro::PKI::TSP::Client::CStamp stamp;
req->put_TSAAddress(L"http://www.cryptopro.ru/tsp/tsp.srf");
req->put_DataHashAlg(szOID_CP_GOST_R3411);
req->AddData(in, dsize);

HCERTSTORE hst = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL,CERT_SYSTEM_STORE_CURRENT_USER, L"MY");

PCCERT_CONTEXT pCert = CryptUIDlgSelectCertificateFromStore(hst, NULL, L"SELECT A CERTIFICATE", L"WHERE TO DO",0, 0, NULL);

req->put_ClientCertificate(pCert);
stamp = req->Send(false);


return res;
}
на платформе х64
MSVStudio 2008 выдает сообщение о ошибке:
Microsoft Visual C++ Runtime Library

Runtime Error!

This application has requested the runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

на платформе х32

System.Runtime.InteropServices.SEHException was unhandled
Message="Внешний компонент создал исключение."
Source="CSPServ"
ErrorCode=-2147467259
StackTrace:
в CryptoPro.PKI.TSP.Client.CRequest.Send(CRequest* , Boolean )
в CSPServ.TSPServSupp.RequestTS(Byte* in, Int32 dsize) в f:\projects\vcs2008 projects\syrws\cspserv\cspserv.cpp:строка 46
в SDClient.Form1..ctor() в F:\PROJECTS\VCS2008 PROJECTS\SyRWS\SDClient\Form1.cs:строка 36
в SDClient.Program.Main() в F:\PROJECTS\VCS2008 PROJECTS\SyRWS\SDClient\Program.cs:строка 18
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:

HRESULT 0x080004005 - Unspecified failure.Brick wall

tsputil - выдает ошибку 0хС2100100,
c:\Program Files (x86)\Crypto Pro\SDK\bin>tsputil sendreq --format=base64 --url=
http://tsp.pkitrans.ru/tspca1_niias/tsp.srf e:\test.tsq e:\stamp.tsr
HTTP status: 407
Exception: 0xC2100100 При попытке отправки запроса возникла ошибка HTTP
[ReturnCode: 0xC2100100]

c:\Program Files (x86)\Crypto Pro\SDK\bin>tsputil sendreq --format=base64 --url=
http://www.cryptopro.ru/tsp/tsp.srf e:\test.tsq e:\stamp.tsr
HTTP status: 407
Exception: 0xC2100100 При попытке отправки запроса возникла ошибка HTTP
[ReturnCode: 0xC2100100]

использую http://www.cryptopro.ru/cadesplugin/Default.aspx - таже ошибка.

Крипто про CSP 3,6,5402 с лицензией до 03,10,2013
сертификат с улучшенным ключом
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)
Защищенная электронная почта (1.3.6.1.5.5.7.3.4)
Пользователь Центра Регистрации, HTTP, TLS клиент (1.2.643.2.2.34.6)
Неизвестное использование ключа (1.2.643.3.37.2.1.1.1)

Никто не наступал на эти грабли что-ли?

Отредактировано пользователем 16 ноября 2012 г. 10:45:54(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#3 Оставлено : 16 ноября 2012 г. 17:20:03(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
HTTP status 407: Proxy Authentication Required

У вас подключение к сети через прокси-сервер?
Offline MZ_st  
#4 Оставлено : 19 ноября 2012 г. 9:40:36(UTC)
MZ_st

Статус: Участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 13

Да, проксик есть. Спасибо. tsputil отрабатывает, но в коде при попытке отправки происходит исключение SEHExeption was unhandled.

byte* TSPServSupp::RequestTS(byte* in, int dsize)
{
byte* res = NULL;

CryptoPro::PKI::TSP::Client::CRequest* req = new CryptoPro::PKI::TSP::Client::CRequest();
CryptoPro::PKI::TSP::Client::CStamp stamp;
req->put_TSAAddress(L"http://www.cryptopro.ru/tsp/tsp.srf");
req->put_DataHashAlg(szOID_CP_GOST_R3411);
req->put_TSAAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);
req->put_ProxyAddress(L"http://webproxy.dy.droot.org:8080");
req->put_ProxyPassword(L"*****");
req->put_ProxyUserName(L"*****");
req->put_CertReq(true);

req->AddData(in, dsize);


HCERTSTORE hst = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL,CERT_SYSTEM_STORE_CURRENT_USER, L"MY");

PCCERT_CONTEXT pCert = CryptUIDlgSelectCertificateFromStore(hst, NULL, L"SELECT A CERTIFICATE", L"WHERE TO DO",0, 0, NULL);

req->put_ClientCertificate(pCert);
byte* d;
ULONG ds;

req->Export(NULL, &ds);
d = new byte[ds]();
req->Export(d, &ds);
try
{
stamp = req->Send(true);
}
catch(Exception^ ex)
{
int a = 0;
}

сертификат тестовый от крипто про
улучшенный ключ
Установка отметки времени (1.3.6.1.5.5.7.3.8)

Отредактировано пользователем 19 ноября 2012 г. 10:38:09(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#5 Оставлено : 19 ноября 2012 г. 16:24:31(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Цитата:
Код:
req->put_TSAAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);


Может put_ProxyAuthType?
Offline MZ_st  
#6 Оставлено : 20 ноября 2012 г. 9:14:14(UTC)
MZ_st

Статус: Участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 13

Новожилова Елена написал:
Цитата:
Код:
req->put_TSAAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);


Может put_ProxyAuthType?


пробовал так. все равно слетает на Send. пробовал убирать сертификат. Ошибка все равно возникает. Но без сертификата HTTP status 200 - OK, а c сертификатом 0.

Причем если методом Display формирую файл запроса, потом его подставляю в tsputil - получаю штамп времени даже указывая сертификат.

Отредактировано пользователем 20 ноября 2012 г. 14:37:25(UTC)  | Причина: Не указана

Вложение(я):
stamp.tsr (2kb) загружен 2 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Новожилова Елена  
#7 Оставлено : 20 ноября 2012 г. 20:14:31(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
MZ_st написал:
Новожилова Елена написал:
Код:
req->put_TSAAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);

Может put_ProxyAuthType?


пробовал так. все равно слетает на Send. пробовал убирать сертификат. Ошибка все равно возникает.


Служба штампов времени http://www.cryptopro.ru/tsp/tsp.srf поддерживает анонимную аутентификацию. Задавать тип аутентификации CryptoPro::PKI::TSP::Client::CRequest::atNTLM, а также клиентский сертификат для аутентификации на данной службе не нужно.

Если для аутентификации на прокси-сервере вы хотите использовать встроенную проверку подлинности Windows, то указываете
Код:
put_ProxyAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);

Если логин + пароль - CryptoPro::PKI::TSP::Client::CRequest::atBasic. Типы аутентификации описаны в документации.

MZ_st написал:
Но без сертификата HTTP status 200 - OK, а c сертификатом 0.

HTTP status 200 - OK, но ошибка все равно возникает? Какая ошибка?

MZ_st написал:
Причем если методом Display формирую файл запроса, потом его подставляю в tsputil - получаю штамп времени даже указывая сертификат.

А можно поподробнее про формирование запроса при помощи метода Display?
Offline MZ_st  
#8 Оставлено : 21 ноября 2012 г. 9:05:06(UTC)
MZ_st

Статус: Участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 13

Новожилова Елена написал:
Если для аутентификации на прокси-сервере вы хотите использовать встроенную проверку подлинности Windows, то указываете
Код:
put_ProxyAuthType(CryptoPro::PKI::TSP::Client::CRequest::atNTLM);

Если логин + пароль - CryptoPro::PKI::TSP::Client::CRequest::atBasic. Типы аутентификации описаны в документации.


Такие варианты тоже пробовал.
Новожилова Елена написал:

MZ_st написал:
Но без сертификата HTTP status 200 - OK, а c сертификатом 0.

HTTP status 200 - OK, но ошибка все равно возникает? Какая ошибка?


валится на Send исключение SEH - внешний компонент создал исключение
Новожилова Елена написал:

MZ_st написал:
Причем если методом Display формирую файл запроса, потом его подставляю в tsputil - получаю штамп времени даже указывая сертификат.

А можно поподробнее про формирование запроса при помощи метода Display?

сохраняю в файл *.tsq затем использую файл как входной для tsputil.

Я так понимаю косяк где то в установке или конфигурации sdk? Установлен Windows 7 x64. Пробовал обе платформы проектов х64 и Win32 - ошибка та же.

Отредактировано пользователем 21 ноября 2012 г. 9:28:49(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#9 Оставлено : 21 ноября 2012 г. 16:25:03(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
MZ_st написал:
валится на Send исключение SEH - внешний компонент создал исключение
Я так понимаю косяк где то в установке или конфигурации sdk? Установлен Windows 7 x64. Пробовал обе платформы проектов х64 и Win32 - ошибка та же.


Нужно лог смотреть.
Offline Павел Смирнов  
#10 Оставлено : 21 ноября 2012 г. 16:37:39(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Ещё можно перехватить исключение и посмотреть на него.
Техническую поддержку оказываем тут.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.