Статус: Новичок
Группы: Участники
Зарегистрирован: 15.07.2021(UTC) Сообщений: 6  Откуда: Санкт-Петербург
|
Добрый день!
Пытаюсь из 1С сделать подпись со штампом и столкнулся с проблемой - расходятся ХЕШ подписи и штампа времени. Пописать пытаюсь так:
МенеджерКриптографии = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider", "", 80); МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "ХХХХХХХ"; МенеджерКриптографии.Подписать(ДвоичныеДанныеЖДН, ИмяФайлаПодписи, Сертификат); ДвоичныеДанныеПодписи = Новый ДвоичныеДанные(ИмяФайлаПодписи); Base64Подпись = Base64Строка(ДвоичныеДанныеПодписи); //шаг 4 тайм штамп ИмяФайлаШтампа = ПолучитьИмяВременногоФайла("tsr"); oOID = Новый COMОбъект("CAPICOM.OID"); oOID.Value = "1.2.643.2.2.9"; oRequest = Новый COMОбъект("TSPCOM.TSPRequest"); oRequest.HashAlgorithm2 = oOID; oRequest.UseNonce = Истина; oRequest.PolicyID = ""; oRequest.CertReq = Истина; UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding"); oRequest.AddData(UTF8Encoding.GetBytes_4(Base64Подпись)); oRequest.TSAAddress = "http://pkitrans.ru/tspca1_niias/tsp.srf"; оStamp = oRequest.Send(); COMSafeArray = оStamp.Export2(); оStream = Новый COMОбъект("ADODB.Stream"); оStream.Mode = 3; оStream.Type = 1; оStream.Open(); оStream.Write(COMSafeArray); оStream.SaveToFile(ИмяФайлаШтампа, 2); оStream.Close(); ДвоичныеДанныеШтампа = Новый ДвоичныеДанные(ИмяФайлаШтампа); Base64Штамп = Base64Строка(ДвоичныеДанныеШтампа);
По идее проблема в HashAlgorithm2 но я не могу поменять алгоритм на любые другие варианты валится с ошибкой.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Здравствуйте.
Почему используется oOID.Value = "1.2.643.2.2.9"; ?
Сертификат же с ГОСТ-2012? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Почему используется oRequest.TSAAddress = "http://pkitrans.ru/tspca1_niias/tsp.srf"; ?
Это пример старого кода с ГОСТ-2001? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.07.2021(UTC) Сообщений: 6  Откуда: Санкт-Петербург
|
Автор: Андрей *  Здравствуйте.
Почему используется oOID.Value = "1.2.643.2.2.9"; ?
Сертификат же с ГОСТ-2012? Ни с каким другим значением не дает использовать, по идее надо использовать "1.2.643.7.1.1.2.2".
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.07.2021(UTC) Сообщений: 6  Откуда: Санкт-Петербург
|
Автор: Андрей *  Почему используется oRequest.TSAAddress = "http://pkitrans.ru/tspca1_niias/tsp.srf"; ?
Это пример старого кода с ГОСТ-2001? Это единственный адрес который нам дал поставщик ключа.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Цитата:oRequest.AddData(UTF8Encoding.GetBytes_4(Base64Подпись)); Цитата:Метод AddData() добавляет данные для вычисления хэш-значения. Sub AddData(Data() As Byte) Аргументы: Data [in] Добавляемые данные.
Почему не ДвоичныеДанныеПодписи? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
или ДвоичныеДанныеЖДН?
Что требуется в итоге? Штамп на подпись? На данные? Пришлите в ЛС ссылку на архив, в котором "как сейчас получается" (файл произвольный и к нему подпись) и что там не сходится, для анализа.
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.07.2021(UTC) Сообщений: 6  Откуда: Санкт-Петербург
|
поменял адрес на http://qs.cryptopro.ru/tsp/tsp.srf oOID = Новый COMОбъект("CAPICOM.OID"); oOID.Value = "1.2.643.7.1.1.2.2"; oRequest.HashAlgorithm2 = oOID; пытаюсь использовать правильный алгоритм и вываливается с ошибкой. Подозреваю проблема в старой версии dll. Вопрос какую версию стоит использовать?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,499   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Ошибка какая? Какая уставлена dll?
Используйте актуальную. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close