e217onr |
|
Статус: Участник Группы: Участники
|
Пытаюсь реализовать функционал проверки подписи. В консоли постоянно возникает ошибка: |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? Ошибка возникает со всеми файлами, поэтому не думаю что прикрепление файлов даст результат. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
По примерам из документации делаете примеры? |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Пробовали подписать и проверить результат сразу? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев По примерам из документации делаете примеры? Примеры из документации не работают, т.к. там представлен код для синхронных запросов, а у меня используются асинхронные. При попытке использовать код из документации, получаю разные ошибки типа «CreateObject is not a function» и тд. Автор: Андрей Писарев Пробовали подписать и проверить результат сразу? Только что попробовал проверить подпись сразу после создания, получаю ту же ошибку, но с requestId = 44. Код:
где sSignedMessage — контент кодируемого документа в формате base64, а dataToVerify — готовая подпись этого контента. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии Здесь пример создания подписи. Создание у меня работает. Нужна проверка. |
|
|
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … Собственно так и работает моя подпись файлов. Я взял эти 2 файла js-скриптов, закинул их в свой проект и настроил работу подписи исходя из этих файлов. Подпись работает великолепно, не работает именно ПРОВЕРКА подписи. Насчёт проверки очень мало написано в документации. Насчёт проверки асинхронными методами — вообще ни слова. Как мне в итоге проверить мою подпись? |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Пройдите диагностику и выполните рекомендуемые действия, а затем попробуйте подписать документ или отчёт ещё раз.
Если ошибка повторяется, переустановите КриптоПро CSP с утилитой очистки следов CSPClean.
-
Откройте «Панель управления» → «Программы и компоненты» и удалите КриптоПро CSP.
-
Скачайте утилиту CSPClean и запустите её. Появится окно с предупреждением, что все продукты компании Крипто-Про будут уничтожены. Нажмите «Да».
Если вы самостоятельно сохранили сspclean сайта Крипто-Про, то при запуске может появиться запрос на удаление контейнеров из реестра — отклоните его.
- Перезагрузите компьютер. Затем установите КриптоПро CSP с помощью веб-диска и перезагрузите компьютер ещё раз.
Если ошибка сохранится, обратитесь в поддержку прямо из окна с ошибкой. Если уже закрыли его, вернитесь в Эльбу и нажмите на знак вопроса внизу справа.
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Добрый день! Выполняю получение данных из отделённой подписи из файла sig через COM с помощью лицензионной КриптоПро CSP 4.0.xxxxx. Сервера времени нет. Подписание выполняю так (в сокращённом виде): Set SignedData = CreateObject(«CAdESCOM.CadesSignedData») signature = SignedData.SignCades(oSigner, CADES_BES, True, CAPICOM_ENCODE_BASE64) Получение данных из подписи выполняю так (Другого способа не нашёл в COM): Set SignedData = CreateObject(«CAdESCOM.CadesSignedData») Call SignedData.VerifyCades(signature, CADES_BES, True) Как результат, если серификаты которыми осуществлялась подпись не просрочены в SignedData.Signers заполняется параметрами, в том числе oSign.Certificate и oSign.SigningTime (oSign типа CAdESCOM.CPSigner). Но если сертификаты например просрочены, то oSign.Certificate заполняется, но oSign.SigningTime нет, даже если не считать уведомление о том что подпись не действительна. Можно как-то иначе чем через Call SignedData.VerifyCades(signature, CADES_BES, True), заполнить данными SignedData.Signers, чтобы можно было прочитать достпные параметры, в том числе oSign.SigningTime, хоть и была она поставлена на основании данных локального ПК, где выполнялась подпись? Мои попытки найти варинты данного решениея пока что не увенчались успехом. Находил объект CAdESSignature, но для COM такого похоже нет, а есть он на Java. Также вопрос, если выполнить получение этих данных на Java, нужна ли для этого лицензия КриптоПро JCP? |
|
|
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Решил попробовать посмотреть атрибуты подписи, по результтам проверки, даже если сертифкат одного или всех подписавших просрочен. Set signers = SignedData.Signers ForAll oSign In signers If oAttr.oid.Value = «1.2.840.113549.1.9.5» Then End If Next Что не так делаю и как получить значение атрибута и при необходимости расшифровать его? Отредактировано пользователем 10 марта 2022 г. 13:38:29(UTC) |
|
|
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Можно было бы подумать, что в AuthenticatedAttributes2 на самом дле не заполнен параметр для oid 1.2.840.113549.9.5 (Время подписания), но если вызвать Call SignedData.Display(), отобразится оконо со свойствами подписи, где атрибут «Время подписания» заполнен. |
|
|
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Решил перепроверить через ASN.1 Decoder (https://lapo.it/asn1js/) файл с подписями *.sig, вдруг всё таки нет там в атрибутах даты или она не там. Попробовал и дата оказалась на месте (см. рисунок). Получается дата и время на месте и OID соответствует (1.2.840.113549.1.9.5), но при попытке его получить через COM (КриптоПро 4.0.хххх) AuthenticatedAttributes2, выдаётся ошибка CAdESCOM.CPAttribute.1: Встречено неверное значение тэга ASN1. Делаю вывод. В коде получения значения атрибута ошибка или есть какой-то способ получения про который ни где не написали. Как всё таки корректно получить данный атрибут? Не писать же в самом деле ASN.1 декодер :). |
|
|
Санчир Момолдаев |
|
Статус: Сотрудник Группы: Модератор, Участники Сказал(а) «Спасибо»: 86 раз |
Добрый день! C# Код:
Java Код:
N.B. время в UTC |
Техническую поддержку оказываем тут |
|
|
|
|
SlangID
оставлено 11.03.2022(UTC) |
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Спасибо, добрый человек! Через комплект jar из Java CSP получилось реализовать получение Времени подписи по данному OID. Немного только иначе, но суть та же. Ниже код в котором немного «разложил» получение каждого из объектов чтобы было понятнее на данном этапе и было ясно что необходимо подключить в проект. Может быть кому-то однажды пригодиться. Код:
|
|
|
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Единственно, в процессе выполнения кода идёт обращение к записям реестра, видимо Java CSP это необходимо, и пишет в консоль предпреждения (см. ниже). Но Java CSP не устанавливал и не планируется ещё отдельно его ставить пользователям или на сервер. Jar-ы подключаются в проект как есть, плюс используется своя JVM, а не те которые ставятся в Windows. Код:
|
|
|
SlangID |
|
Статус: Участник Группы: Участники Сказал «Спасибо»: 2 раз |
Также вопрос в продолжение темы. Приведу пример: Код:
А дальше в коде уже можно воспользоваться данными функциями для дальнейшей работы. Использовать то скорее всего нужно «cadescom.dll«. А вот что в ней, пока не понял, если подскажете или намекнёте, будет просто отлично. |
|
|
two_oceans |
|
Статус: Эксперт Группы: Участники Сказал(а) «Спасибо»: 110 раз |
Автор: SlangID Также вопрос в продолжение темы. Использовать то скорее всего нужно «cadescom.dll«. А вот что в ней, пока не понял, если подскажете или намекнёте, будет просто отлично. Да, интересный вопрос. Однако, с учетом замечания выше «через Com не выйдет», то, полагаю, подключив cadescom.dll попадете на те же грабли. Ну в худшем случае конечно можно подключить asn1 библиотеки, так что подход не совсем уж безнадежный. |
|
|
|
SlangID
оставлено 11.03.2022(UTC) |
Санчир Момолдаев |
|
Статус: Сотрудник Группы: Модератор, Участники Сказал(а) «Спасибо»: 86 раз |
Автор: SlangID Единственно, в процессе выполнения кода идёт обращение к записям реестра, видимо Java CSP это необходимо, и пишет в консоль предпреждения (см. ниже). Но Java CSP не устанавливал и не планируется ещё отдельно его ставить пользователям или на сервер. Jar-ы подключаются в проект как есть, плюс используется своя JVM, а не те которые ставятся в Windows. Код:
видимо вы используете java8. там необходимо элевация прав до админа.либо хотябы раз запустить от админа. эти ошибки уйдут, но появятся другие. но их тоже можно решить. попробуйте java10+ (java-csp-A) настройки будут в контексте пользователя |
Техническую поддержку оказываем тут |
|
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
#1 2018-09-27 07:39:07 (2018-09-27 17:46:48 отредактировано Vintik)
- Vintik
- Посетитель
- Неактивен
Встречено неверное значение тега ASN1
Здравствуйте.
Проявилась ошибка «Встречено неверное значение тега ASN1»
Фото пропало
Видно что на ключе явно «лишний» контейнер, но не понятно откуда он т.к. не удаляется.
Это можно попробовать утилитой зависших исправить?
#2 Ответ от Vintik 2018-09-27 07:53:28 (2018-09-27 07:54:30 отредактировано Vintik)
- Vintik
- Посетитель
- Неактивен
Re: Встречено неверное значение тега ASN1
Попробовал утилиту удалить зависший PKI, она отработала прекрасно,
но удалила только все PKI
Не понятный контейнер остался на месте.
Панель Рутокена новая 4.5.1.0
#3 Ответ от Vintik 2018-09-27 09:50:51
- Vintik
- Посетитель
- Неактивен
Re: Встречено неверное значение тега ASN1
Спасибо.
Пар-но отписал на тех.п. hotline @ rutoken . ru
Быстро подключились, как то смогли удалить тот
непонятный контейнер и проблема решена.
Думаю форматирование бы помогло, но в данном случае надо
было чтоб сертификат «ГОСТ» не удалился.
#4 Ответ от Ксения Шаврова 2018-09-27 11:16:44
- Ксения Шаврова
- Администратор
- Неактивен
Re: Встречено неверное значение тега ASN1
Сейчас специалисты исследуют этот случай и чуть позже напишу что именно произошло с сертификатом.
Форматирование советуем применять в самом крайнем случае.
По нашим оценкам, примерно в 95% случаев мы можем помочь, подключившись удаленно.
Контакты нашей техподдержки: 8 (495) 925-77-90 hotline@rutoken.ru
#5 Ответ от Ксения Шаврова 2018-09-28 12:58:07
- Ксения Шаврова
- Администратор
- Неактивен
Re: Встречено неверное значение тега ASN1
Мы исследовали проблему — на Рутокене содержался битый сертификат.
Он был удален и работоспособность восстановлена.
В случае возникновения подобных проблем — сразу обращайтесь в нашу техническую поддержку.
Сообщений 5
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
- Remove From My Forums
-
Общие обсуждения
-
Здравствуйте!
В нашей организации мы столкнулись с проблемой не позволяющей отправлять зашифрованные сообщения в MS Outlook 2007.
Есть группа организаций, в каждой из которой осуществляется выпуск сертификатов средствами собственных удостоверяющих центров, входящих в сеть удостоверяющих центров. При отправке зашифрованных писем внутри нашей организации появляется следующее сообщение
об ошибке: «Ошибка на нижнем уровне системы безопасности. Встречено неверное значение тега ASN1«. Как правило ошибка появляется при отправке сообщений получателям имеющим сертификат выданный нашим удостоверяющим центром
и внутри организации. При отправке сообщения в другую организацию, соответственно с сертификатом выданным её удостоверяющим центром, сообщение уходит без каких- либо проблем. Если отправлять сообщение внутри организации, но использовать при шифровании сертификат
выданный удостоверяющим центром другой организации, письмо уходит нормально. Было предположение, что возможно проблема в сертификатах выпускаемым нашим удостоверяющим центром. Проводили тестовые отправки писем с семи рабочих станций, используя учетные записи
семи человек. В тестировании было 5 пользовательских рабочих станций и две тестовые с операционной системой Windows XP Pro и операционной системой Windows 7. Тестовые машины крайне редко использовались для работы пользователей и никогда для шифрованного
документооборота средствами MS Outlook. В ходе тестов выяснили следующее:
1. Почти у всех пользователей с тестовой рабочей станции с операционной системой Windows XP Pro сообщения оправились без проблем. Ошибка возникла только у одного пользователя, она также возникает и на его рабочей станции.
2. При смене пользователями рабочих станций на одних местах ошибка возникала, а на других нет. И выявить какую-либо определенную закономерность не удалось. Ошибка возникала у разных пользователей на разных рабочих станциях.
3. При отправке сообщений с тестовой машины с операционной системой Windows 7 снова появлялась данная ошибка, хотя на некоторых других машинах и в том числе тестовой с Windows XP Pro, ошибки не было.4. На тестовой рабочей станции под управлеинем Windows 7 осуществлялась отправка сообщений от двух пользователей с одинаковыми сертификатами, выдаными одним удостоверяющим центром. От первого пользователя сообщения уходили нормально всем сотрудникам
участвовашим в тестировании. От второго пользователя сообщение удалось отправить только первому, во всех других случаях снова возникала ошибка тега ASN1.Так как на одних рабочих станциях все работало нормально, а на других нет, причем у одних и тех же пользователей, мне кажется дело не в сертификатах. Скорее всего проблема в самих рабочих станциях, их настройках или в конфликте с программным обеспечением
установленным на машины. В чем конкретно проблема мы своими силами, к сожалению, выяснить не смогли.
Так на большинстве рабочих мест в нашей организации установлена операционная система Windows 7 и осуществляется плановый переход на эту систему с Windows XP Pro, где она ещё используется, то хотелось бы решить данную проблему применительно к Windows 7, если
нет какого-то общего решения.Outlook настроен на шифрование вполне корректно, т.к. ошибка возникает не постоянно при отправке каждого сообщения. Да и обмен зашифрованной почты с сотрудниками других организаций проходит нормально.
Скажите, пожалуйста, типична ли данная ошибка или нет и корни проблемы стоит искать в конфликте программного обеспечения.
Какие вообще есть идеи и что можно попробовать или почитать, чтобы решить эту проблему.
Спасибо!-
Изменен тип
16 мая 2013 г. 12:05
-
Изменен тип