Статус: Новичок
Группы: Участники
Зарегистрирован: 01.04.2021(UTC) Сообщений: 3  Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте, форумчане. Столкнулся с задачей по формированию jwt токена. Часть Signature представляет закодированную в Base64 ЭП по ГОСТ 34.10-2012 строку. Сама ЭП имеет формат detached PKCS #7. На сервере лежит файл подписанный эпц в формате attached PKSC#7, кодировка der. Строка имеет вид base64(header).base64(playload) Например строка без части Playload: ewogICJhY3Rpb24iOiAiIiwKICAiZGF0YV90eXBlIjogIiIsCiAgIk9HUk4iOiAiIiwKICAiS1BQIjogIiIsCiAgImNlcnQ2NCI6ICIiCn0=. Состав сертификата: Алгоритм подписи ГОСТ Р 34.11-2012/34.10-2012 256 бит, хэш-алгоритм подписи ГОСТ Р 34.11-2012 256 бит Использую 1с 8.3.17 Пробую через cadescom. Код: CADESCOM_PKCS7_TYPE = "0xffff";
CADESCOM_CURRENT_USER_STORE = 2;
CADESCOM_MY_STORE = "My";
CADESCOM_CONTAINER_STORE = 100;
CADESCOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
CADESCOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
CADESCOM_BASE64_TO_BINARY = 1;
CADESCOM_CERTIFICATE_FIND_SHA1_HASH = 0;
Отпечаток = "d756f56e63c63f966c5bdaf9631b67fa477a1769";
oStore = Новый COMОбъект("CAdESCOM.Store");
oStore.Open(CADESCOM_CURRENT_USER_STORE, CADESCOM_MY_STORE, CADESCOM_STORE_OPEN_MAXIMUM_ALLOWED);
oCertificates = oStore.Certificates.Find(CADESCOM_CERTIFICATE_FIND_SHA1_HASH, Отпечаток);
oCertificate = oCertificates.Item(1);
oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
oSigner.Certificate = oCertificate;
oSigner.KeyPin = "12345678";
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = "ewogICJhY3Rpb24iOiAiIiwKICAiZGF0YV90eXBlIjogIiIsCiAgIk9HUk4iOiAiIiwKICAiS1BQIjogIiIsCiAgImNlcnQ2NCI6ICIiCn0=.";
sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_PKCS7_TYPE, true);
Получаю ошибку: Код:Ошибка при установке значения атрибута контекста (Content)
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Параметр задан неверно.
В чем я не прав? Спасибо
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Здравствуйте. Автор: Ivan Petrov  oSignedData.ContentEncoding = CADESCOM_ BASE64_TO_BINARY; oSignedData.Content = "ewogICJhY3Rpb24iOiAiIiwKICAiZGF0YV90eXBlIjogIiIsCiAgIk9HUk4iOiAiIiwKICAiS1BQIjogIiIsCiAgImNlcnQ2NCI6ICIiCn0 =."; sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_PKCS7_TYPE, true); [/code] Получаю ошибку: Код:Ошибка при установке значения атрибута контекста (Content)
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Параметр задан неверно.
В чем я не прав?Спасибо Невнимательность? |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 01.04.2021(UTC) Сообщений: 3  Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей *  Здравствуйте. Автор: Ivan Petrov  oSignedData.ContentEncoding = CADESCOM_ BASE64_TO_BINARY; oSignedData.Content = "ewogICJhY3Rpb24iOiAiIiwKICAiZGF0YV90eXBlIjogIiIsCiAgIk9HUk4iOiAiIiwKICAiS1BQIjogIiIsCiAgImNlcnQ2NCI6ICIiCn0 =."; sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_PKCS7_TYPE, true); [/code] Получаю ошибку: Код:Ошибка при установке значения атрибута контекста (Content)
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Параметр задан неверно.
В чем я не прав?Спасибо Невнимательность? И правда невнимательность. Спасибо :) Подпись получилась, но ответ от сервера "Верификация токена провалена".
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Автор: Ivan Petrov  Сама ЭП имеет формат detached PKCS #7. На сервере лежит файл подписанный эпц в формате attached PKSC#7, кодировка der. Здесь сложно понять... Требования ИС такие\какие? Точно PKCS #7? Может RAW-подпись должна быть.. для токена? Примера нет? + по форуму поищите, обсуждалось много раз ... Другие продукты » проверка подписи jwt / jws токенов |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 01.04.2021(UTC) Сообщений: 3  Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей *  Автор: Ivan Petrov  Сама ЭП имеет формат detached PKCS #7. На сервере лежит файл подписанный эпц в формате attached PKSC#7, кодировка der. Здесь сложно понять... Требования ИС такие\какие? Точно PKCS #7? Точно PKCS#7 Проблема оказалась на стороне сервера. Не принимал тестовые сертификаты. Вопрос решен В итоге решение получено с помощью МенеджерКритографии в 1с Код:
МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, "", ТипКП);
ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты, РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС);
Сертификат = ХранилищеСертификатов.НайтиПоОтпечатку(Base64Значение(Отпечаток));
ЗашифрованныеДанные = МенеджерКриптографии.Подписать(ИмяВременногоФайла, Сертификат);
ПодписанныеДанные = Base64Строка(ЗашифрованныеДанные);
Отредактировано пользователем 9 апреля 2021 г. 8:21:30(UTC)
| Причина: Форматирование кода
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Только зачем переменные называть ЗашифрованныеДанные... Если это не так.
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close