Имеются дополнительные данные код ошибки 234


Offline

user.b

 


#1
Оставлено
:

22 мая 2014 г. 1:09:37(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Доброго времени суток всем.
Пожалуйста, подскажите, что значит ошибка (Код 234: Имеются дополнительные данные). У меня она происходит при втором вызове CryptSignMessage. Что это за данные вообще? Какой-то параметр не верно задан или не задан вовсе?..

Код:


  FillChar( Sign_Msg_Para, SizeOf( CRYPT_SIGN_MESSAGE_PARA ), #0 );
  Sign_Msg_Para.cbSize := SizeOF( CRYPT_SIGN_MESSAGE_PARA );
  Sign_Msg_Para.dwMsgEncodingType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
  Sign_Msg_Para.pSigningCert := pCrtContext;
  Sign_Msg_Para.HashAlgorithm.pszObjId := szOID_CP_GOST_R3411;
  Sign_Msg_Para.cMsgCert := 1;
  Sign_Msg_Para.rgpMsgCert := @pCrtContext;
  sz^:=inStream.Size;
  if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, nil, cbSignedMsgBlob )) then
    begin
      res:=GetLastError;
      ShowMessage('1. '+SysErrorMessage(res));
      Exit;
    end;
    cbSignedMsgBlob:=0;
    if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, P, cbSignedMsgBlob )) then
      begin
        res:=GetLastError;
        ShowMessage('2. '+SysErrorMessage(res));
        Exit;
      end;

Спасибо!


Вверх


Offline

Андрей Писарев

 


#2
Оставлено
:

22 мая 2014 г. 9:44:58(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,009
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Автор: user.b Перейти к цитате

Доброго времени суток всем.
Пожалуйста, подскажите, что значит ошибка (Код 234: Имеются дополнительные данные). У меня она происходит при втором вызове CryptSignMessage. Что это за данные вообще? Какой-то параметр не верно задан или не задан вовсе?..

Код:


  FillChar( Sign_Msg_Para, SizeOf( CRYPT_SIGN_MESSAGE_PARA ), #0 );
  Sign_Msg_Para.cbSize := SizeOF( CRYPT_SIGN_MESSAGE_PARA );
  Sign_Msg_Para.dwMsgEncodingType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
  Sign_Msg_Para.pSigningCert := pCrtContext;
  Sign_Msg_Para.HashAlgorithm.pszObjId := szOID_CP_GOST_R3411;
  Sign_Msg_Para.cMsgCert := 1;
  Sign_Msg_Para.rgpMsgCert := @pCrtContext;
  sz^:=inStream.Size;
  if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, nil, cbSignedMsgBlob )) then
    begin
      res:=GetLastError;
      ShowMessage('1. '+SysErrorMessage(res));
      Exit;
    end;
    cbSignedMsgBlob:=0;
    if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, P, cbSignedMsgBlob )) then
      begin
        res:=GetLastError;
        ShowMessage('2. '+SysErrorMessage(res));
        Exit;
      end;

Спасибо!

Ответ на вопрос — Вам известно, для чего дважды используется вызов CryptSignMessage?
Чтобы определить необходимый размер, выделить память и только потом передавать указатель (P).

На форумеSDK есть готовые примеры реализации (Delphi, C+) — исправляйте свой код или выполните поиск.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Андрей Писарев

 


#3
Оставлено
:

22 мая 2014 г. 9:47:24(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,009
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1912 раз в 1478 постах

Возвращение данных неопределенной длины

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#4
Оставлено
:

22 мая 2014 г. 9:52:54(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Да, я прошу прощения. Это уже в результате экспериментов утерял. После первого вызова был P:=GetMemory(cbSignedMsgBlob); Но результат тот же.

Отредактировано пользователем 22 мая 2014 г. 9:55:57(UTC)
 | Причина: Не указана


Вверх


Offline

Kirill Sobolev

 


#5
Оставлено
:

22 мая 2014 г. 10:27:44(UTC)

Кирилл Соболев

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

Группы: Участники

Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах

Код:

cbSignedMsgBlob:=0;

Вот это лишнее. Передавайте тот размер, который был использован для выделения памяти.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#6
Оставлено
:

22 мая 2014 г. 10:44:22(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Автор: Kirill Sobolev Перейти к цитате

Код:

cbSignedMsgBlob:=0;

Вот это лишнее. Передавайте тот размер, который был использован для выделения памяти.

Без этого выдает AV и заканчивается внутренней ошибкой


Вверх


Offline

Kirill Sobolev

 


#7
Оставлено
:

22 мая 2014 г. 11:09:09(UTC)

Кирилл Соболев

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

Группы: Участники

Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах

Цитата:

Без этого выдает AV и заканчивается внутренней ошибкой

Была такая проблема, из-за кривого портирования wincrypt.h на delphi.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#8
Оставлено
:

22 мая 2014 г. 11:10:34(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Кажется, заработало вот так:

Код:


  into: array of byte;
  ...
  SetLength(into,inStream.Size);
  inStream.ReadBuffer(into[0], inStream.Size);
  if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, @(into), sz, nil, cbSignedMsgBlob )) then
    begin
      res:=GetLastError;
      ShowMessage('1. '+SysErrorMessage(res));
      Exit;
    end;
  P:=GetMemory(cbSignedMsgBlob);
  if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, @(into), sz, P, cbSignedMsgBlob )) then
    ....

Странно, передаю ссылку на массив типа byte — работает. Если передать выделенную память для PByte — нет. Видел примеры, где берут данные прямо из Stream.Memory, как у меня было в начале… А главное, первый вызов вроде как принимает эти данные, правильно определяет размер подписи..

Всем большое спасибо.


Вверх


Offline

MCR

 


#9
Оставлено
:

23 мая 2014 г. 10:43:52(UTC)

MCR

Статус: Активный участник

Группы: Участники

Зарегистрирован: 06.03.2012(UTC)
Сообщений: 177

Сказал(а) «Спасибо»: 57 раз
Поблагодарили: 11 раз в 8 постах

Автор: Kirill Sobolev Перейти к цитате

Цитата:

Без этого выдает AV и заканчивается внутренней ошибкой

Была такая проблема, из-за кривого портирования wincrypt.h на delphi.

на delphi необходимо использовать jwawincrypt. он более-менее пригоден, хотя ошибки и в нем встречаются.
поэтому под рукой еще важно держать свежий исходник wincrypt.h.
примеров подписи на delphi в инете много.


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Использование ЭЦП открывает для владельца подписи дополнительные возможности. Но вместе с этим, иногда сопровождается небольшими техническими проблемами, связанными с необходимостью чёткого выполнения действий, связанных с загрузкой сертификатов, авторизацией, установкой необходимого программного обеспечения, а также системных требований к компьютеру.

Как выглядит ЭЦП
Важно отметить, что большинство ошибок при работе с ЭЦП можно устранить в домашних условиях, без необходимости привлечения специалистов со стороны.

Какие виды ошибок ЭЦП бывают

Среди наиболее часто встречающихся ошибок в процессе подписания электронных документов электронной подписью выделяют три ключевых блока:

Проблема с подписанием ЭПЦ. Возникает в момент, когда владелец подписи желает использовать ее при подписании электронного документа.

Проблема с сертификатом. Здесь система информирует пользователя об отсутствии (не действительности), либо использовании незарегистрированного сертификата удостоверяющего центра, необходимого для внешней проверки ЭП.

Проблемы при авторизации. Появляется при проверке пользователя, когда владелец электронной подписи впервые пытается зайти на электронную площадку с подтверждением личности через ЭЦП.

Проблема с подписанием ЭПЦ

Причины, вызывающие подобную ошибку весьма разнообразны. Тут можно выделить такие основные направления:

  • Закрытый ключ со съемного носителя (диска, флешки, Токена), не соответствует имеющемуся ключу открытого сертификата. Банальный человеческий фактор выбора не того носителя информации с ЭЦП. Если же «правильный» ключ утерян, придется обращаться в Удостоверяющий центр для перевыпуска.
  • Недействительный сертификат. Чтобы устранить подобную ошибку потребуется переустановить открытый сертификат. Важно учитывать требования криптопровайдера (инструкции по необходимым действиям) для установки открытых сертификатов.
  • Сертификат подписи определяется как не проверенный. Потребуется выполнить переустановку корневого сертификата, сформировавшего ЭП Удостоверяющего центра.
  • Закончился срок действия криптопровайдера. Необходимо получить новый лицензионный ключ, позволяющий работать с программным обеспечением криптопровайдера. Информация запрашивается через УЦ, либо владельца ПО.
  • Не виден сертификат на носителе. Помогает простая перезагрузка компьютера для устранения ошибка генерации.
  • Алгоритм сертификата ЭЦП не поддерживается. Подобная ошибка может возникать при подписании электронной отчетности в налоговую. Потребуется переустановить КриптоПро CSP и проверить его на совместительство с имеющейся у вас на компьютере операционной системой.

Как проявляется данная ошибка и что сделать, чтобы исправить

Ошибка исполнения функции с информированием о невозможности подписать документ ЭЦП обычно появляется в момент подписания документа.

Система сразу выводит на экран уведомление о непредвиденной ошибке с кратким указанием причины ее возникновения.

Обычно для ее исправления требуются такие действия:

  • проверка наличия, срока действия, подлинности сертификатов и выполнение их замены;
  • выполнение проверки корректной работы операционной системы компьютера, ее обновление до минимальных допустимых параметров;
  • проверка состояния съемного носителя закрытого ключа;
  • выявление и устранение ошибок работы криптопровайдера.

Важно. Причина, из-за которой владелец ЭЦП не может нею воспользоваться, может быть комплексной. Поэтому, если не сработал один из предложенных вариантов, проверьте по другим направлениям.

Проблема с сертификатом

Распространенным явлением во время подписания электронных документов ЭЦП является получение уведомления, что системе не удалось получить доступ к сертификатам, пригодным для формирования подписи.

Здесь причины возникновения неисправности могут быть такими:

  1. Пользователь не установил на свой ПК корневые сертификаты УЦ, осуществлявшего формирование и выдачу ЭЦП. Для устранения – скачать и установить на компьютер такой сертификат, либо прописать доступ к нему.
  2. Система не видит личных сертификатов владельца ЭЦП. Выдаются одновременно с оформлением ЭП. Их необходимо загрузить на ваш ПК, и подтянуть в криптопровайдер. В дальнейшем можно загрузить через сайт УЦ. Устанавливаются и прописываются на рабочем месте, предназначенном для работы с ЭЦП. С незарегистрированным сертификатом вы не сможете осуществлять подписание электронных документов.
  3. Информирование о невалидности сертификатов. Обычно такое возможно в случае, когда заканчивается срок действия сертификата, либо их отзывают. Потребуется обращаться в УЦ, выдавший ЭЦП, для уточнения статуса сертификатов подписи. В некоторых случаях помогает обновление сертификатов на компьютере пользователя. Сделать это можно вручную.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

Внимательно читайте природу ошибки, что выдает система. Обычно это ключ к дальнейшему направлению поиска источника проблемы и ее устранению.

Что делать если не найден сертификат или не верен

Когда сертификат отсутствует в списке «Ваши Сертификаты», проблема может оказаться в отсутствии коренного сертификата УЦ.

Для устранения этой проблемы необходимо:

  • проверить наличие такого сертификата на вашем ПК по пути: «Пуск» — дальше «Все программы» — после этого плагин «КриптоПро» — а уже там «Сертификаты»;
  • дальше находим вкладку «Личное», выбираем «Сертификаты»;

Раздел сертификаты

  • потребуется открыть не отображенный во вкладке сертификат и просмотреть его «Путь сертификации»;
  • тут отображаются все цепочки сертификатов в порядке ранжирования. Важно чтобы напротив какого-то из них не стоял желтый, либо красный значок предупреждения. Если подобное присутствует – нажмите на сам сертификат и ознакомьтесь с ошибкой, что выдаст система;
  • в зависимости от причины (обычно это окончание действия сертификата, либо не верифицирован) выполните ее устранение.

Чтобы устранить ошибку и перезагрузить отозванный сертификат потребуется выполнить несколько не сложных действий:

  • в окне «Свойства браузера» откройте личный сертификат. Попасть туда можно через «Поиск» меню «Пуск». В открытом окошке ищите вкладку «Содержание», дальше вкладку «Сертификаты»;
  • после этого во вкладке «Состав» потребуется выбрать позицию «Точки распространения списков отзывов»;
  • в следующем блоке под названием «Имя точки распространения» необходимо выполнить копирование ссылки загрузки файла списка отзывов;
  • переходя по указанной ссылке необходимо скачать и установить файл списка отзывов (CRL);
  • дальше переходим по подсказкам «Мастера импорта сертификатов».

Следующей распространенной проблемой, когда компьютер не видит сертификат на носителе, является сбой в работе программных продуктов компьютера либо Токена (флешки). Обычно помогает простая перезагрузка ПК. Среди прочих популярных проблем этого направления можно выделить такие:

  1. На носителе отсутствует драйвер, либо он установлен не корректно. Необходимо скачать последнюю версию драйвера с официального источника и установите его. Можно проверить работоспособность съемного носителя на другом ПК. В этом случае, если другой ПК нормально работает с носителем ЭЦП, переустановите драйверы на первом компьютере.
  2. Система долго распознает носитель ЭЦП. Тут проблема в операционной системе. Ее потребуется обновить до минимального уровня, требуемого для работы с ЭЦП.
  3. USB-порт работает не корректно. Попробуйте подсоединить Токен (флешку) через другой порт, либо на другом ПК, чтобы убедиться, что проблема не в носителе. Выполните перезагрузку компьютера.
  4. Если Токин (флешка) не открывается ни на одном компьютере, значит проблема в носителе. Когда ключ был записан в единственном экземпляре на этот носитель – потребуется обращаться в УЦ для перевыпуска ЭЦП.

Важно. Перед вынесением «окончательного вердикта» касательно работоспособности носителя и сертификата, не поленитесь выполнить их проверку через несколько различных источников.

Проблемы при авторизации

Часто с подобными неприятностями сталкиваются владельцы ЭЦП, пытающиеся пройти регистрацию, либо авторизацию на различных электронных торговых площадках. Пользователю появляется уведомление, что его подпись не авторизирована.

Обычно проблема кроется:

  1. Отсутствие регистрации. Потребуется попросту зарегистрироваться на избранном вами ресурсе.
  2. Не зарегистрирован сертификат. Возникает после обновления ключа ЭЦП. Устраняется путем регистрации нового сертификата ключа ЭЦП.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

На различных ресурсах процесс регистрации (авторизации) может существенно отличаться, иметь определенные ограничения, а также блокироваться защитным ПО. Поэтому перед началом процедуры не поленитесь ознакомиться с соответствующей инструкцией и правилами.

В дальнейшем, при работе на самой электронной площадке и попытке подписать электронные документы, могут возникать дополнительные трудности, связанные с такими моментами:

  1. Необходимости присоединиться к регламенту. Система не даст возможность полноценно работать, если вы не согласитесь с ее условиями.
  2. Невозможность загрузить файл (файлы). Обычно это ошибка превышения размера информации, что допустима для загрузки. Просто смените формат разрешения файла, чтобы уменьшить его размер.
  3. Требование использовать определенный браузер (определенную версию браузера). Это системные требования владельца площадки, которые необходимо соблюдать.
  4. Проблемы со считыванием сертификатов. Потребуется проверить не просрочены ли ваши сертификаты, а также все ли они установлены на ПК.

Что значит er 10002 неопределенная ошибка при проверке ЭЦП, что делать?

Возможно не прошла расшифровка файла ключа. Перезагрузите компьютер. Проверьте, отображается ли съемный носитель ключа ЭЦП, наличие и корректность отображения сертификатов, а также соответствие их (должен быть одинаковый владелец).

Ошибка 52 цифровая подпись

Связана с повреждением, либо отсутствием необходимых драйверов на носителе, либо ПК. Потребуется скачать с официального источника недостающий драйвер и переустановить его.

Почему компьютер не видит ЭЦП?

Несоответствие программного продукта операционной системы и съемного носителя (флешки), либо повреждение флешки. Устраняется путем обновления операционной системы до минимально необходимой версии. В случае обнаружения повреждения флешки – может потребоваться перевыпуск ЭЦП удостоверяющим центром.

Почему КриптоПро не отображает ЭЦП?

Потребуется выполнить определенные настройки вашего браузера и добавить программу в меню веб-обозревателя, а также загрузить недостающие сертификаты ЭЦП.

Где на компьютере искать сертификаты ЭЦП?

Хранение сертификатов в Windows (от 7 версии) осуществляется по адресу: C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates

где вместо «ПОЛЬЗОВАТЕЛЬ» должно стоять наименование вашего ПК

Фискальный накопитель (ФН) — устройство для шифрования и хранения информации о произведённых операциях на кассе, которое передаёт данные ОФД.

Оператор фискальных данных (ОФД) — это компания, которая ежедневно и непрерывно отправляет данные от пользователей контрольно-кассовой техники (ККТ) в ФНС. Имеет разрешение от налоговой инспекции на обработку кассовых данных, обеспечивает их защиту и конфиденциальность при передаче.

Нередко пользователи онлайн-касс сталкиваются с такой ситуацией, когда фискальный накопитель выдаёт ошибку в чеке. Причиной может быть неправильное обращение с ККТ, например, кассир нажал не те кнопки и на экране появляется сообщение или распечатывается чек с определённым кодом.

Принцип работы фискального накопителя на всех кассах одинаковый, поэтому коды ошибок также универсальные, совпадают у разных моделей касс. Разберём частые ошибки ФН, в числе которых 235, 234, 231, 210, 211 и 212 коды, почему возникают и как их устранить.

Ошибка ФН 235 «Ресурс хранения данных исчерпан»

Данная ошибка означает, что запись с фискального накопителя не была вовремя передана оператору фискальных данных. Касса формирует отчёты и чеки, которые направляются в ОФД для передачи сведений о торговых операциях в Федеральную налоговую службу. Если фискальный документ не был передан в течение 30 дней, то ФН перестаёт печатать фискальный признак на чеках и появляется ошибка 235.

Для решения ситуации необходимо проверить:

  • связь с ОФД (оплачен ли тариф, доступен ли сервер ОФД по протоколу TCP);
  • подключение интернет-соединения;
  • исправность фискального накопителя.

При проверке связи с оператором нужно снять отчёт по диагностике соединения с ОФД. Найдите в руководстве по эксплуатации вашей ККТ и, следуя его указаниям, сделайте «Тест связи с ОФД». Там будет указано состояние канала связи, сколько чеков не было передано и с какого числа.

Таким же образом можно найти причину ошибок «Ошибка интерфейса ЭКЛЗ/ФН», если вы работаете с маркировкой на ФФД 1.2. В результате теста связи с ОФД можно выяснить, есть ли неотправленные уведомления. Если уведомление не уйдёт в ОИСМ в течение 30 дней с момента его формирования, то касса заблокирует работу с маркируемым товаром.

Для решения ситуации необходимо проверить:

  • связь с ОИСМ и дополнительный сервер ОФД для передачи сведений в Честный ЗНАК (оплачен ли тариф ОФД, доступен ли сервер ОИСМ по протоколу TCP);
  • подключение интернет-соединения;
  • исправность фискального накопителя.

Причинами появления кода могут быть неверно указанные реквизиты ОФД, не оплаченный вовремя тариф, не исключены проблемы на сервере оператора.

При неполадках с интернетом нужно проверить провода маршрутизатора, исправность проводного или беспроводного соединения. Оплачен ли тариф за услуги оператора или интернет-провайдера. В случае неисправности оборудования – обратиться в техподдержку обслуживающей компании.

Редко, но такое может случиться, что фискальный накопитель пришёл в негодность. Если вы проверили все описанные выше сценарии, но чеки или уведомления всё равно не отправляются в ОФД, то можно обратиться к продавцу ФН с требованием провести диагностику неисправностей. Производитель выдаст замену ФН и заключение о неисправности предыдущего, при условии, что срок гарантии ФН не истёк, в ином случае производитель выдаст заключение о неисправности и вернёт вам неисправный ФН для хранения.

Ошибка ФН 234 «Исчерпан ресурс криптопроцессора ФН»

Если появилась эта ошибка, по-другому может называться «Исчерпан ресурс КС», значит, закончился срок действия фискального накопителя и его необходимо заменить.

ФН различаются по сроку действия (15 и 36 месяцев) в зависимости от налогового режима и вида бизнеса. После окончания срока накопитель нужно заменить на новый, при этом пользователь ККТ должен хранить использованный ФН в течение 5 лет.

Для замены накопителя необходимо сделать следующее:

  1. посмотреть дату и время последнего документа в ФН;
  2. перевести дату в кассе на день последнего чека, а время — на несколько позже последнего документа;
  3. закрыть смену при необходимости;
  4. дождаться отправки всех документов в ОФД (проверить можно в Личном кабинете сервиса);
  5. закрыть архив ФН;
  6. убедиться, что ККТ не снята с учёта ФНС в одностороннем порядке. Достоверная информация доступна в ЛК ФНС или у вашей ИФНС.
  7. зарегистрировать кассу с новым установленным ФН.

Если не получится сделать самостоятельно, необходимо обратиться в обслуживающую организацию. В дальнейшем, чтобы не допускать появления ошибки ФН 234, у некоторых ОФД в Личном кабинете имеется функция слежения графика замены ФН, чтобы избежать остановки работы касс.

Также в ЛК можно проводить анализ продаж и выручки, подбирать товары и услуги по заданным параметрам, составлять необходимые отчёты. В результате ОФД значительно помогает бизнесу в управлении продажами, и предприниматели экономят средства на подключение сторонних сервисов по аналитике.

Онлайн-сервис «Астрал.ОФД» передаёт данные, чеки в ФНС и ЦРПТ в соответствии с требованиями законодательства. Функции личного кабинета позволяют отслеживать корректность отправки чеков в налоговую, проводить мониторинг и аналитику данных. Сервис бесплатно передаёт информацию в систему маркировки товаров «Честный ЗНАК», имеется возможность отправки копии электронного чека по SMS / Email со статусом доставки. А круглосуточная поддержка клиентов помогает оперативно решать вопросы, которые касаются бесперебойной работы онлайн-касс.

Ошибка ФН 231 «Некорректное значение параметров команды ФН»

Такая ошибка возникает, когда пользователь кассы пытается установить фискальный накопитель, не подходящий для его вида торговой деятельности или типа налогообложения.

ФН сроком 15 месяцев устанавливают ИП и организации на ОСН (общая система налогообложения), а также при продаже подакцизных товаров (сигареты, алкоголь, моторные масла и т.д.). ФН на 36 месяцев подходит для всех остальных: на УСН, ПСН, ЕСХН, а также ОСН, которые предоставляют только услуги.

Обратите внимание, что новые ФН 1.1М и 1.2 имеют свойство ограничивать срок своего действия до 410 дней (13 месяцев), если регистрация производится на торговлю подакцизными товарами и/или в автономном режиме.

Если пользователь приобретает онлайн-кассу со встроенным фискальным накопителем — следует проверить, подходит ли он установленным требованиям.

Подобрать модель и подходящий срок работы фискального накопителя помогут специалисты интернет-магазина «Астрал ККТ».

Ошибка ФН 210 «Ошибка обмена с ФН на уровне интерфейса I2C»

Данная ошибка возникает на фоне того, что касса не может установить соединение с фискальным накопителем на уровне интерфейса. Необходимо проверить, правильно ли установлен ФН в кассовом аппарате, не повреждён ли шлейф, который соединяет накопитель и ККТ. В случае повреждений — сдать устройство в сервисный центр.

Бывает, что код 210 появляется при переполненности внутреннего буфера накопителя из-за долгого простоя, а потом большого количества операций на кассе. Если кассовый аппарат не использовался больше месяца, то вначале стоит подождать 10-15 минут, чтобы не допустить появления ошибки.

Ошибка ФН 211 «Ошибка формата передачи ФН»

Код появляется, когда формат команды или параметров фискального накопителя некорректен. Может возникнуть из-за отсоединения ФН от кассы (нужно проверить подключение) или в случае поломки шлейфа для подключения накопителя и нужно его заменить.

Может возникнуть в случае попытки сформировать фискальный документ на ФН с закрытым архивом (закрытым фискальным режимом) — такой ФН не подлежит дальнейшей эксплуатации.

Ошибка ФН 212 «Неверное состояние ФН»

При появлении этой ошибки следует убедиться в том, что ККТ корректно поставлена на учёт в ФНС. Если имеются ошибки при регистрации, то ФН не будет работать. Также необходимо проверить, подключён ли шлейф к ФН и к самой онлайн-кассе, нет ли в нём повреждений.

Если ошибка ФН 212 сопровождается ошибкой чтения реквизита 1013 (ЗН ККТ) или же ФН передаёт номер последней открытой смены, равный нулю, то рекомендуется обратиться в сервисный центр для диагностики фискального накопителя. Как правило, причина простоя кассы в недостаточном питании внутренней батареи ФН.

Ошибки ФН 213, 214, 215 и 216

213. Неисправимая ошибка ФН

214. Ошибка контрольной суммы ФН

215. Истёк срок эксплуатации ФН

216. Архив ФН переполнен

Если возникли эти ошибки, может помочь перезагрузка кассового аппарата. При успешном результате можно продолжать работу, если не помогло — нужно закрыть архив фискального накопителя и заменить сам ФН.

Ошибка ФН 217 «В ФН переданы неверная дата или время»

При передаче фискальных данных указывается дата и время открытия/закрытия смены, которые фиксируются кассой. При сбое настроек ККТ будет выдавать ошибку 217. Нужно проверить параметры даты и времени и настроить их верно.

Ошибка ФН 218 «В ФН нет запрошенных данных»

Такая ошибка появляется при попытке найти фискальный документ, которого нет в накопителе. Нужно проверить, был ли создан документ с таким номером и сверить с чеком в Личном кабинете сервиса оператора фискальных данных.

Ошибка ФН 219 «Переполнение ФН (итог чека)»

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

Ошибки ФН 225, 255 «Неверный номер ФН»

Скорее всего, код ошибки появился из-за вписанного в настройки кассы номера ФН, который не совпадает с реальным номером накопителя. Нужно указать правильный, и ошибка пропадёт.

Ошибок ФН больше, мы разобрали наиболее популярные из них. Не все ошибки связаны с поломкой ФН, проблема может появиться из-за других обстоятельств, неисправности самой кассы или сбоя кассовых программ. И решение таких ошибок лучше проводить по инструкции пользователя к аппарату или доверять специалистам.


Offline

user.b

 


#1
Оставлено
:

22 мая 2014 г. 1:09:37(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Доброго времени суток всем.
Пожалуйста, подскажите, что значит ошибка (Код 234: Имеются дополнительные данные). У меня она происходит при втором вызове CryptSignMessage. Что это за данные вообще? Какой-то параметр не верно задан или не задан вовсе?..

Код:


FillChar( Sign_Msg_Para, SizeOf( CRYPT_SIGN_MESSAGE_PARA ), #0 );
Sign_Msg_Para.cbSize := SizeOF( CRYPT_SIGN_MESSAGE_PARA );
Sign_Msg_Para.dwMsgEncodingType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
Sign_Msg_Para.pSigningCert := pCrtContext;
Sign_Msg_Para.HashAlgorithm.pszObjId := szOID_CP_GOST_R3411;
Sign_Msg_Para.cMsgCert := 1;
Sign_Msg_Para.rgpMsgCert := @pCrtContext;
sz^:=inStream.Size;
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, nil, cbSignedMsgBlob )) then
begin
res:=GetLastError;
ShowMessage('1. '+SysErrorMessage(res));
Exit;
end;
cbSignedMsgBlob:=0;
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, P, cbSignedMsgBlob )) then
begin
res:=GetLastError;
ShowMessage('2. '+SysErrorMessage(res));
Exit;
end;

Спасибо!


Вверх

Offline

Андрей Писарев

 


#2
Оставлено
:

22 мая 2014 г. 9:44:58(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: user.b Перейти к цитате

Доброго времени суток всем.
Пожалуйста, подскажите, что значит ошибка (Код 234: Имеются дополнительные данные). У меня она происходит при втором вызове CryptSignMessage. Что это за данные вообще? Какой-то параметр не верно задан или не задан вовсе?..

Код:


FillChar( Sign_Msg_Para, SizeOf( CRYPT_SIGN_MESSAGE_PARA ), #0 );
Sign_Msg_Para.cbSize := SizeOF( CRYPT_SIGN_MESSAGE_PARA );
Sign_Msg_Para.dwMsgEncodingType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
Sign_Msg_Para.pSigningCert := pCrtContext;
Sign_Msg_Para.HashAlgorithm.pszObjId := szOID_CP_GOST_R3411;
Sign_Msg_Para.cMsgCert := 1;
Sign_Msg_Para.rgpMsgCert := @pCrtContext;
sz^:=inStream.Size;
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, nil, cbSignedMsgBlob )) then
begin
res:=GetLastError;
ShowMessage('1. '+SysErrorMessage(res));
Exit;
end;
cbSignedMsgBlob:=0;
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, inStream.Memory, sz, P, cbSignedMsgBlob )) then
begin
res:=GetLastError;
ShowMessage('2. '+SysErrorMessage(res));
Exit;
end;

Спасибо!

Ответ на вопрос — Вам известно, для чего дважды используется вызов CryptSignMessage?
Чтобы определить необходимый размер, выделить память и только потом передавать указатель (P).

На форумеSDK есть готовые примеры реализации (Delphi, C+) — исправляйте свой код или выполните поиск.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Андрей Писарев

 


#3
Оставлено
:

22 мая 2014 г. 9:47:24(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Возвращение данных неопределенной длины

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#4
Оставлено
:

22 мая 2014 г. 9:52:54(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Да, я прошу прощения. Это уже в результате экспериментов утерял. После первого вызова был P:=GetMemory(cbSignedMsgBlob); Но результат тот же.

Отредактировано пользователем 22 мая 2014 г. 9:55:57(UTC)
 | Причина: Не указана


Вверх

Offline

Kirill Sobolev

 


#5
Оставлено
:

22 мая 2014 г. 10:27:44(UTC)

Кирилл Соболев

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

Группы: Участники

Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах

Код:

cbSignedMsgBlob:=0;

Вот это лишнее. Передавайте тот размер, который был использован для выделения памяти.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#6
Оставлено
:

22 мая 2014 г. 10:44:22(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Автор: Kirill Sobolev Перейти к цитате

Вот это лишнее. Передавайте тот размер, который был использован для выделения памяти.

Без этого выдает AV и заканчивается внутренней ошибкой


Вверх

Offline

Kirill Sobolev

 


#7
Оставлено
:

22 мая 2014 г. 11:09:09(UTC)

Кирилл Соболев

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

Группы: Участники

Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах

Цитата:

Без этого выдает AV и заканчивается внутренней ошибкой

Была такая проблема, из-за кривого портирования wincrypt.h на delphi.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

user.b

 


#8
Оставлено
:

22 мая 2014 г. 11:10:34(UTC)

user.b

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

Группы: Участники

Зарегистрирован: 24.04.2014(UTC)
Сообщений: 10
Российская Федерация

Кажется, заработало вот так:

Код:


into: array of byte;
...
SetLength(into,inStream.Size);
inStream.ReadBuffer(into[0], inStream.Size);
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, @(into), sz, nil, cbSignedMsgBlob )) then
begin
res:=GetLastError;
ShowMessage('1. '+SysErrorMessage(res));
Exit;
end;
P:=GetMemory(cbSignedMsgBlob);
if not ( CryptSignMessage( @Sign_Msg_Para, true, 1, @(into), sz, P, cbSignedMsgBlob )) then
....

Странно, передаю ссылку на массив типа byte — работает. Если передать выделенную память для PByte — нет. Видел примеры, где берут данные прямо из Stream.Memory, как у меня было в начале… А главное, первый вызов вроде как принимает эти данные, правильно определяет размер подписи..

Всем большое спасибо.


Вверх

Offline

MCR

 


#9
Оставлено
:

23 мая 2014 г. 10:43:52(UTC)

MCR

Статус: Активный участник

Группы: Участники

Зарегистрирован: 06.03.2012(UTC)
Сообщений: 177

Сказал(а) «Спасибо»: 57 раз
Поблагодарили: 11 раз в 8 постах

Автор: Kirill Sobolev Перейти к цитате

Цитата:

Без этого выдает AV и заканчивается внутренней ошибкой

Была такая проблема, из-за кривого портирования wincrypt.h на delphi.

на delphi необходимо использовать jwawincrypt. он более-менее пригоден, хотя ошибки и в нем встречаются.
поэтому под рукой еще важно держать свежий исходник wincrypt.h.
примеров подписи на delphi в инете много.


Вверх
Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.


Offline

Stein

 


#1
Оставлено
:

4 апреля 2012 г. 17:57:37(UTC)

Stein

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

Группы: Участники

Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

Все добрый день. Тестирую Крипто-Про EFS.
Поставил последнюю сборку 3.6, EFS, без лицензий. На виртуальной машине, ОС XP SP3 с последними обновлениями.
Создал самоподписанный сертификат.

При попытке зашифровать директорию с файлом выдается сообщение — Ошибка при изменении атрибутов для файла: C:Documents. Недостаточно памяти для завершения операции.

Куда копать? Как исправить?


Вверх

Offline

Stein

 


#2
Оставлено
:

4 апреля 2012 г. 18:09:17(UTC)

Stein

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

Группы: Участники

Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

Дополнение: В системном логе наличествует ошибка от cpefs «Невозможно провести операцию статического Диффи-Хеллмана, т.к. не совпадают параметры открытых ключей.»


Вверх

Offline

Dmitry-support

 


#3
Оставлено
:

4 апреля 2012 г. 18:20:21(UTC)

Dmitry-support

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

Группы: Участники

Зарегистрирован: 06.02.2012(UTC)
Сообщений: 21

Поблагодарили: 1 раз в 1 постах

Здравствуйте.

Каким образом делали самоподписанный сертификат? Если через оснастку, то удалите его, и создайте, например по такому шаблону:

[NewRequest]
Subject = «CN=certreq_nokus»
KeyLength = 512
ProviderName = «Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider»
KeySpec = «AT_KEYEXCHANGE»
RequestType = Cert
SMIME = FALSE
[EnhancedKeyUsageExtension]
OID=1.3.6.1.4.1.311.10.3.4.1

Можно создать с помощью утилиты certreq, однако она доступна на системах выше Vista. Можете сделать и потом просто ключи перенести.


Вверх

Offline

Stein

 


#4
Оставлено
:

4 апреля 2012 г. 19:03:49(UTC)

Stein

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

Группы: Участники

Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

Да, через оснастку EFS.

Сгенерировал ключи и сертификат на тестовом уц. Добавил OID. С ним шифрование заработало.
После добавил к списку сертификат, сгенерированный в оснастке, удалил сертификат сгенерированный на тестовом уц . Расшифрование работает.

Это фича такая? Странно, что в документации не нашел ничего про это.

Еще у меня нет в консоли EFS пункта Контролируемые файлы. Это так надо? =)
Для папки получается нельзя выбрать список сертификатов для расширования? У меня кнопка «Подробно» активна только для свойств файла.

Так все-таки какой правильный порядок зашифрования файлов?


Вверх

Offline

Dmitry-support

 


#5
Оставлено
:

4 апреля 2012 г. 20:20:00(UTC)

Dmitry-support

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

Группы: Участники

Зарегистрирован: 06.02.2012(UTC)
Сообщений: 21

Поблагодарили: 1 раз в 1 постах

это известный баг оснастки, в дальнейшем будет исправлен.

Цитата:

Еще у меня нет в консоли EFS пункта Контролируемые файлы. Это так надо? =)

Да На данный момент имеющаяся на сайте документация не актуальна во всех аспектах. Документация под новые сборки сейчас пишется.

Папка шифруется точно также как и файл.

ПКМ на файле — Дополнительно -Зашифровать содержимое (галочку ставимубираем) — Применить.


Вверх

Offline

vikabr

 


#6
Оставлено
:

15 октября 2014 г. 16:56:52(UTC)

vikabr

Статус: Новичок

Группы: Участники

Зарегистрирован: 15.10.2014(UTC)
Сообщений: 1
Российская Федерация
Откуда: Москва

Автор: Stein Перейти к цитате

Все добрый день. Тестирую Крипто-Про EFS.
Поставил последнюю сборку 3.6, EFS, без лицензий. На виртуальной машине, ОС XP SP3 с последними обновлениями.
Создал самоподписанный сертификат.

При попытке зашифровать директорию с файлом выдается сообщение — Ошибка при изменении атрибутов для файла: C:Documents. Недостаточно памяти для завершения операции.

Куда копать? Как исправить?

Всё то же самое. Пытаюсь внедрить EFS, пока что без лицензии. Тестовая машина windows7, ошибка та же самая.
Ответ «Dmitry-support» не понятен, не могли бы описать поподробнее как сгенерировать сертификат. Так же интересует присутствие данного бага в платной версии.


Вверх

Offline

Павел Смирнов

 


#7
Оставлено
:

16 октября 2014 г. 11:12:56(UTC)

Павел Смирнов

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

Группы: Администраторы

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах

Обновили версию КриптоПро EFS на сайте. В данной сборке ошибка устранена.

Техническую поддержку оказываем тут.
Наша база знаний.


Вверх

WWW


Offline

efs_Алексей

 


#8
Оставлено
:

14 мая 2020 г. 17:18:42(UTC)

efs_Алексей

Статус: Новичок

Группы: Участники

Зарегистрирован: 14.05.2020(UTC)
Сообщений: 5
Российская Федерация

Добрый день.

Тестирую КриптоПро EFS для покупкииспользования в своей организации.

Столкнулся с аналогичной проблемой.

На виртуальной машине установлена Windows Server 2012 R2 x64 (без AD)
Под пользователем Админ создан сертификат агента восстановления, сертификат подключен в локальные политики безопасности, закрытый ключ импортирован в личные сертификаты.
Установлен КриптоПро CSP 4.0.9963
Установлен КриптоПро EFS 1.0.1780 efs-x64.msi
Создан самоподписанный сертификат через оснастку КриптоПро EFS, находится в Личное и Доверенные лица.

При шифровании файла появляется ошибка — «Ошибка изменения атрибутов для файла. Плохая версия поставщика.» В журнале Windows — Служба «Смарт-карта» перешла в состояние Остановлена. — Затем — Служба «Смарт-карта» перешла в состояние Работает.

Роль центра сертификации не установлена. Необходима ли она? Интересует работа на сервере вне домена.

Подскажите в чем может быть проблема? Что я мог упустить?


Вверх

Offline

Дмитрий Пичулин

 


#9
Оставлено
:

14 мая 2020 г. 19:11:10(UTC)

pd

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

Группы: Администраторы

Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,312
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 284 раз в 238 постах

Автор: efs_Алексей Перейти к цитате

Добрый день.

Тестирую КриптоПро EFS для покупкииспользования в своей организации.

Столкнулся с аналогичной проблемой.

На виртуальной машине установлена Windows Server 2012 R2 x64 (без AD)
Под пользователем Админ создан сертификат агента восстановления, сертификат подключен в локальные политики безопасности, закрытый ключ импортирован в личные сертификаты.
Установлен КриптоПро CSP 4.0.9963
Установлен КриптоПро EFS 1.0.1780 efs-x64.msi
Создан самоподписанный сертификат через оснастку КриптоПро EFS, находится в Личное и Доверенные лица.

При шифровании файла появляется ошибка — «Ошибка изменения атрибутов для файла. Плохая версия поставщика.» В журнале Windows — Служба «Смарт-карта» перешла в состояние Остановлена. — Затем — Служба «Смарт-карта» перешла в состояние Работает.

Роль центра сертификации не установлена. Необходима ли она? Интересует работа на сервере вне домена.

Подскажите в чем может быть проблема? Что я мог упустить?

Через панель управления КриптоПро CSP, сертификаты (пользователя и агента) успешно проходят Сервис > Протестировать… ?

Типичная ошибка, что сертификат агента восстановления RSA-шный.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

efs_Алексей

 


#10
Оставлено
:

18 мая 2020 г. 11:32:07(UTC)

efs_Алексей

Статус: Новичок

Группы: Участники

Зарегистрирован: 14.05.2020(UTC)
Сообщений: 5
Российская Федерация

Спасибо за ответ.
Через КриптоПро CSP — Протестировать… видится только один контейнер и сертификат, пользователя. Он проверку проходит успешно.
Сертификат агента восстановления как я понимаю через КриптоПро можно создать только через запрос — руками.
Поставлю роль ЦС без домена.

Подскажите *.ini шаблон который был описан выше для этого подойдет?


Вверх
Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Использование ЭЦП открывает для владельца подписи дополнительные возможности. Но вместе с этим, иногда сопровождается небольшими техническими проблемами, связанными с необходимостью чёткого выполнения действий, связанных с загрузкой сертификатов, авторизацией, установкой необходимого программного обеспечения, а также системных требований к компьютеру.

Как выглядит ЭЦП
Важно отметить, что большинство ошибок при работе с ЭЦП можно устранить в домашних условиях, без необходимости привлечения специалистов со стороны.

Содержание

  • Какие виды ошибок ЭЦП бывают
  • Проблема с подписанием ЭПЦ
  • Как проявляется данная ошибка и что сделать, чтобы исправить
  • Проблема с сертификатом
  • Что делать если не найден сертификат или не верен
  • Проблемы при авторизации

Какие виды ошибок ЭЦП бывают

Среди наиболее часто встречающихся ошибок в процессе подписания электронных документов электронной подписью выделяют три ключевых блока:

Проблема с подписанием ЭПЦ. Возникает в момент, когда владелец подписи желает использовать ее при подписании электронного документа.

Проблема с сертификатом. Здесь система информирует пользователя об отсутствии (не действительности), либо использовании незарегистрированного сертификата удостоверяющего центра, необходимого для внешней проверки ЭП.

Проблемы при авторизации. Появляется при проверке пользователя, когда владелец электронной подписи впервые пытается зайти на электронную площадку с подтверждением личности через ЭЦП.

Проблема с подписанием ЭПЦ

Причины, вызывающие подобную ошибку весьма разнообразны. Тут можно выделить такие основные направления:

  • Закрытый ключ со съемного носителя (диска, флешки, Токена), не соответствует имеющемуся ключу открытого сертификата. Банальный человеческий фактор выбора не того носителя информации с ЭЦП. Если же «правильный» ключ утерян, придется обращаться в Удостоверяющий центр для перевыпуска.
  • Недействительный сертификат. Чтобы устранить подобную ошибку потребуется переустановить открытый сертификат. Важно учитывать требования криптопровайдера (инструкции по необходимым действиям) для установки открытых сертификатов.
  • Сертификат подписи определяется как не проверенный. Потребуется выполнить переустановку корневого сертификата, сформировавшего ЭП Удостоверяющего центра.
  • Закончился срок действия криптопровайдера. Необходимо получить новый лицензионный ключ, позволяющий работать с программным обеспечением криптопровайдера. Информация запрашивается через УЦ, либо владельца ПО.
  • Не виден сертификат на носителе. Помогает простая перезагрузка компьютера для устранения ошибка генерации.
  • Алгоритм сертификата ЭЦП не поддерживается. Подобная ошибка может возникать при подписании электронной отчетности в налоговую. Потребуется переустановить КриптоПро CSP и проверить его на совместительство с имеющейся у вас на компьютере операционной системой.

Как проявляется данная ошибка и что сделать, чтобы исправить

Ошибка исполнения функции с информированием о невозможности подписать документ ЭЦП обычно появляется в момент подписания документа.

Система сразу выводит на экран уведомление о непредвиденной ошибке с кратким указанием причины ее возникновения.

Обычно для ее исправления требуются такие действия:

  • проверка наличия, срока действия, подлинности сертификатов и выполнение их замены;
  • выполнение проверки корректной работы операционной системы компьютера, ее обновление до минимальных допустимых параметров;
  • проверка состояния съемного носителя закрытого ключа;
  • выявление и устранение ошибок работы криптопровайдера.

Важно. Причина, из-за которой владелец ЭЦП не может нею воспользоваться, может быть комплексной. Поэтому, если не сработал один из предложенных вариантов, проверьте по другим направлениям.

Проблема с сертификатом

Распространенным явлением во время подписания электронных документов ЭЦП является получение уведомления, что системе не удалось получить доступ к сертификатам, пригодным для формирования подписи.

Здесь причины возникновения неисправности могут быть такими:

  1. Пользователь не установил на свой ПК корневые сертификаты УЦ, осуществлявшего формирование и выдачу ЭЦП. Для устранения – скачать и установить на компьютер такой сертификат, либо прописать доступ к нему.
  2. Система не видит личных сертификатов владельца ЭЦП. Выдаются одновременно с оформлением ЭП. Их необходимо загрузить на ваш ПК, и подтянуть в криптопровайдер. В дальнейшем можно загрузить через сайт УЦ. Устанавливаются и прописываются на рабочем месте, предназначенном для работы с ЭЦП. С незарегистрированным сертификатом вы не сможете осуществлять подписание электронных документов.
  3. Информирование о невалидности сертификатов. Обычно такое возможно в случае, когда заканчивается срок действия сертификата, либо их отзывают. Потребуется обращаться в УЦ, выдавший ЭЦП, для уточнения статуса сертификатов подписи. В некоторых случаях помогает обновление сертификатов на компьютере пользователя. Сделать это можно вручную.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

Внимательно читайте природу ошибки, что выдает система. Обычно это ключ к дальнейшему направлению поиска источника проблемы и ее устранению.

Что делать если не найден сертификат или не верен

Когда сертификат отсутствует в списке «Ваши Сертификаты», проблема может оказаться в отсутствии коренного сертификата УЦ.

Для устранения этой проблемы необходимо:

  • проверить наличие такого сертификата на вашем ПК по пути: «Пуск» — дальше «Все программы» — после этого плагин «КриптоПро» — а уже там «Сертификаты»;
  • дальше находим вкладку «Личное», выбираем «Сертификаты»;

Раздел сертификаты

  • потребуется открыть не отображенный во вкладке сертификат и просмотреть его «Путь сертификации»;
  • тут отображаются все цепочки сертификатов в порядке ранжирования. Важно чтобы напротив какого-то из них не стоял желтый, либо красный значок предупреждения. Если подобное присутствует – нажмите на сам сертификат и ознакомьтесь с ошибкой, что выдаст система;
  • в зависимости от причины (обычно это окончание действия сертификата, либо не верифицирован) выполните ее устранение.

Чтобы устранить ошибку и перезагрузить отозванный сертификат потребуется выполнить несколько не сложных действий:

  • в окне «Свойства браузера» откройте личный сертификат. Попасть туда можно через «Поиск» меню «Пуск». В открытом окошке ищите вкладку «Содержание», дальше вкладку «Сертификаты»;
  • после этого во вкладке «Состав» потребуется выбрать позицию «Точки распространения списков отзывов»;
  • в следующем блоке под названием «Имя точки распространения» необходимо выполнить копирование ссылки загрузки файла списка отзывов;
  • переходя по указанной ссылке необходимо скачать и установить файл списка отзывов (CRL);
  • дальше переходим по подсказкам «Мастера импорта сертификатов».

Следующей распространенной проблемой, когда компьютер не видит сертификат на носителе, является сбой в работе программных продуктов компьютера либо Токена (флешки). Обычно помогает простая перезагрузка ПК. Среди прочих популярных проблем этого направления можно выделить такие:

  1. На носителе отсутствует драйвер, либо он установлен не корректно. Необходимо скачать последнюю версию драйвера с официального источника и установите его. Можно проверить работоспособность съемного носителя на другом ПК. В этом случае, если другой ПК нормально работает с носителем ЭЦП, переустановите драйверы на первом компьютере.
  2. Система долго распознает носитель ЭЦП. Тут проблема в операционной системе. Ее потребуется обновить до минимального уровня, требуемого для работы с ЭЦП.
  3. USB-порт работает не корректно. Попробуйте подсоединить Токен (флешку) через другой порт, либо на другом ПК, чтобы убедиться, что проблема не в носителе. Выполните перезагрузку компьютера.
  4. Если Токин (флешка) не открывается ни на одном компьютере, значит проблема в носителе. Когда ключ был записан в единственном экземпляре на этот носитель – потребуется обращаться в УЦ для перевыпуска ЭЦП.

Важно. Перед вынесением «окончательного вердикта» касательно работоспособности носителя и сертификата, не поленитесь выполнить их проверку через несколько различных источников.

Проблемы при авторизации

Часто с подобными неприятностями сталкиваются владельцы ЭЦП, пытающиеся пройти регистрацию, либо авторизацию на различных электронных торговых площадках. Пользователю появляется уведомление, что его подпись не авторизирована.

Обычно проблема кроется:

  1. Отсутствие регистрации. Потребуется попросту зарегистрироваться на избранном вами ресурсе.
  2. Не зарегистрирован сертификат. Возникает после обновления ключа ЭЦП. Устраняется путем регистрации нового сертификата ключа ЭЦП.

Мнение эксперта

Владимир Аникеев

Специалист отдела технической поддержки УЦ

На различных ресурсах процесс регистрации (авторизации) может существенно отличаться, иметь определенные ограничения, а также блокироваться защитным ПО. Поэтому перед началом процедуры не поленитесь ознакомиться с соответствующей инструкцией и правилами.

В дальнейшем, при работе на самой электронной площадке и попытке подписать электронные документы, могут возникать дополнительные трудности, связанные с такими моментами:

  1. Необходимости присоединиться к регламенту. Система не даст возможность полноценно работать, если вы не согласитесь с ее условиями.
  2. Невозможность загрузить файл (файлы). Обычно это ошибка превышения размера информации, что допустима для загрузки. Просто смените формат разрешения файла, чтобы уменьшить его размер.
  3. Требование использовать определенный браузер (определенную версию браузера). Это системные требования владельца площадки, которые необходимо соблюдать.
  4. Проблемы со считыванием сертификатов. Потребуется проверить не просрочены ли ваши сертификаты, а также все ли они установлены на ПК.

Что значит er 10002 неопределенная ошибка при проверке ЭЦП, что делать?

Возможно не прошла расшифровка файла ключа. Перезагрузите компьютер. Проверьте, отображается ли съемный носитель ключа ЭЦП, наличие и корректность отображения сертификатов, а также соответствие их (должен быть одинаковый владелец).

Ошибка 52 цифровая подпись

Связана с повреждением, либо отсутствием необходимых драйверов на носителе, либо ПК. Потребуется скачать с официального источника недостающий драйвер и переустановить его.

Почему компьютер не видит ЭЦП?

Несоответствие программного продукта операционной системы и съемного носителя (флешки), либо повреждение флешки. Устраняется путем обновления операционной системы до минимально необходимой версии. В случае обнаружения повреждения флешки – может потребоваться перевыпуск ЭЦП удостоверяющим центром.

Почему КриптоПро не отображает ЭЦП?

Потребуется выполнить определенные настройки вашего браузера и добавить программу в меню веб-обозревателя, а также загрузить недостающие сертификаты ЭЦП.

Где на компьютере искать сертификаты ЭЦП?

Хранение сертификатов в Windows (от 7 версии) осуществляется по адресу: C:UsersПОЛЬЗОВАТЕЛЬAppDataRoamingMicrosoftSystemCertificates

где вместо «ПОЛЬЗОВАТЕЛЬ» должно стоять наименование вашего ПК

Для решения данной проблемы необходимо переустановить программу КриптоПро.

Порядок переустановки КриптоПро

     1. Удалить КриптоПро. Для удаления программы необходимо зайти  в «Панель управления» >  «Программы и компоненты» и удалить КриптоПро.

1

     2. В случае, если стандартный способ удаления (через панель «Установка и удаление программ» или с помощью запуска дистрибутива) проходит не корректно, следует воспользоваться аварийным способом удаления.

Для КриптоПро CSP всех версий:

Необходимо воспользоваться «утилитой очистки следов установки КриптоПро CSP». Для выполнения очистки нужно запустить файл cspclean.exe, перезагрузить компьютер и повторно запустить утилиту.

После запуска утилиты появится окно с предупреждением, что все продукты компании КриптоПро будут уничтожены. В нем необходимо нажать «Да».

2

При использовании утилиты сspclean удаление контейнеров из реестра не происходит. Если сspclean была самостоятельно сохранена с сайта Крипто Про, то при запуске утилиты может появиться запрос на удаление контейнеров из реестра, который необходимо отклонить.

     3. Перезагрузить компьютер. 

     4. После этого необходимо загрузить Крипто Про по ссылке (версия 4.0) или версию Крипто Про 5.0 по ссылке и установить его. Для завершения установки обязательно перезагрузить компьютер. 
 

Остались вопросы? 

Отдел технической поддержки

 
тел.: 8 (800) 333-91-03, доб. 2400
email: otp@itcomgk.ru

Ошибка 234 или исчерпан ресурс криптопроцессора ФН на кассах Атол или других, означает окончание срока действия фискального накопителя. Обычно такое сообщение видят те пользователи, которые не пользуются личным кабинетом ОФД. В нём можно найти информацию не только по пробиваемым документам, но и данные по сопровождению ККТ. На экранах онлайн-касс Эвотор в таких случаях высвечивается Ошибка при работе с кассой: (-3978) Исчерпан ресурс КС ФН.


Что делать


Чтобы проблема ушла необходимо
заменить фискальный накопитель. Порядок действий зависит от того закрыта смена или нет. В любом случае обязательно закрыть архив и отправить его в ОФД. Затем поставить новый ФН, согласно требованию законодательства и сообщить в налоговую о проведённой перерегистрации.


Для
автономных кассовых аппаратов процедура включает:

  • Закрытие смены вручную (если она не закрыта)
  • Перевод часов на время чуть позже пробития последнего документа
  • Отправку скопившихся данных
  • Закрытие фискального режима
  • Передачу архива
  • Физическую замену
  • Информирование ФНС о новом ФН


Для фискальных регистраторов потребуется программное обеспечение:

  • Подключаем аппарат через драйвер
  • В специальном режиме убираем накопитель из регистратора
  • Проводим технологическое обнуление
  • Устанавливаем время позднее пробития последнего чека
  • Выключаем ФР и ставим старый ФН обратно
  • Включаем (закрываем смену) и отправляем остатки документов в ОФД
  • Закрываем архив через утилиту и отправляем его тоже
  • Заменяем ФН
  • Информируем ФНС


При наличии
цифровой подписи архив передаётся через личный кабинет налогоплательщика. В другом случае прикрепляется в виде чека к заявлению о перерегистрации, которое предоставляется в отделение инспекции. Отработанный ФН нужно хранить в течение 5 лет.


Чтобы «Ошибка 234» не привела к финансовым потерям в виде штрафов или
поломки ФН – обращайтесь к профессионалам. Наши специалисты всё сделают правильно и быстро.

Фискальный накопитель — обязательный элемент, который устанавливается на ККТ для хранения, кодирования и передачи фискальных чеков в ОФД. Оператор, в свою очередь, отправляет сведения о совершенных кассовых операциях в ФНС. Микросхема модуля выполняет функции цифровой подписи, что формируется при распечатке чека, а блок памяти предназначен для хранения всех распечатанных на онлайн-кассе документов. При возникновении неполадок фискальный элемент может заблокировать работу кассы, а ведение кассовых операций без передачи данных в ОФД или некорректное использование накопителя грозит предпринимателям штрафами.

Поэтому выполнение манипуляций по замене и отладке работы онлайн-кассы с ФН следует проводить предельно внимательно.

Удалено подключимся и устраним ошибку. Большинство проблем решаем за 15 минут!

Оставьте заявку и получите консультацию в течение 5 минут.

Каждый из модулей для фискализации данных имеет свой срок действия ключа.

При этом срок, указанный на упаковке, в реальности может оказаться меньше из-за особенностей использования, технических параметров оборудования и объемов кассовых операций. Например, при торговле алкоголем срок службы накопителя, рассчитанного на 36 месяцев, фактически составит всего 410 дней.

За два месяца до окончания действия ключа, на экране ККТ появится предупреждение с указанием количества оставшихся дней.

Кассовый аппарат выводит сообщение «Ошибка 234: исчерпан ресурс КС ФН» или «Исчерпан ресурс криптографического сопроцессора ФН» в случае, когда истекает период эксплуатации фискального модуля. При этом код сообщения и текст для моделей ККТ разных производителей может отличаться от указанных выше.

Какие действия необходимо предпринять и как исправить ошибку ФН 234, рассмотрим далее.

Мы готовы помочь!

Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям

Онлайн-касса: как исправить ошибку ФН 234

Если на дисплее онлайн-кассы появилась ошибка ФН 234, то однозначно владельцу бизнеса необходимо менять модуль. В зависимости от того, при каких условиях появилось сообщение, зависит алгоритм действий, которые нужно предпринять, прежде чем извлечь накопитель для установки нового.

Ошибка ФН 234 на кассе: как закрыть смену

Как закрыть смену, если ошибка ФН на кассе возникла в процессе работы?

В официальных руководствах для пользователей ККМ производители, например, «Атол», «Эвотор», рекомендуют не пытаться самим закрывать смену, так как никакие действия не приведут к результату, хотя в интернете размещено большое количество «нелегальных» рекомендаций по самостоятельному решению этой проблемы. Со своей стороны мы также не рекомендуем пытаться производить какие-либо манипуляции, так как здесь помогут только квалифицированные специалисты сервисного центра.

Если ошибка фискального накопителя с кодом 234 появилась после того, как смена была закрыта, то пользователь может самостоятельно произвести необходимые манипуляции и подготовить кассу к замене ФН.

Порядок действий, чтобы исправить ошибку (общий алгоритм):

  1. Зафиксировать значения даты и времени распечатки последнего документа (посмотреть можно в личном кабинете пользователя ОФД).
  2. Установить на кассе параметры времени, указав значение на 10 минут позже зафиксированного.
  3. Проверить отправку всех чеков оператору (касса должна быть подключена к интернету).
  4. Закрыть смену.
  5. Закрыть архив.
  6. Проверить, чтобы информация о закрытии была отправлена оператору.
  7. Следующим шагом произвести замену модуля.

Подключите техподдержку 24/7. Быстрая реакция, 95% проблем решаются после первого обращения.

Оставьте заявку и получите консультацию в течение 5 минут.

Ошибка ФН 234: как закрыть архив

Для моделей ККТ разных производителей порядок действий для закрытия архива тоже разный. Чтобы выяснить, как закрыть архив при ошибке ФН 234 для вашего кассового аппарата, нужно изучить руководство пользователя, которое входит в комплект устройства.

Общие условия для закрытия ФН при ошибке 234:

  • Наличие отчета о закрытии смены.
  • Сформированный отчет о закрытии самого фискального модуля.
  • Все сведения по последним операциям, в том числе и отчет о закрытии должны быть отправлены в ОФД, поэтому важно, чтобы онлайн-касса была подключена к интернету.

Если ККТ работает офлайн и не передает данные оператору, то все отчеты необходимо распечатать и сохранить.

Законом не запрещена замена фискального накопителя владельцем ККТ, но при самостоятельном вскрытии корпуса и переустановке ФН могут возникнуть сложности. Например, некоторые поставщики не принимают устройства к гарантийному обслуживанию, если корпус ранее был вскрыт. Плюс ко всему замена накопителя требует перерегистрации контрольно-кассового аппарата. Поэтому, если ваш кассовый аппарат показывает ошибку 234, рекомендуем обратиться в центр технического обслуживания для получения своевременной и профессиональной помощи.

Техническая поддержка 24/7. Выделенный менеджер, быстрое решение. Консультации по ГИС.

Оставьте заявку и получите консультацию в течение 5 минут.

Оцените, насколько полезна была информация в статье?

Наш каталог продукции

У нас Вы найдете широкий ассортимент товаров в сегментах
кассового, торгового, весового, банковского и офисного оборудования.

Посмотреть весь каталог

Другие статьи

вопросы

Из нашей статьи вы узнаете:

При использовании КриптоПро ЭЦП Browser plug-in могут возникать ошибки, приводящие к тому, что плагин не работает или работает некорректно, из-за чего электронная подпись не создаётся. Рассмотрим наиболее распространённые варианты ошибок и разберёмся, как их устранить.

При проверке отображается статус «Плагин загружен», но нет информации о криптопровайдере

Это значит, что криптопровайдер КриптоПро CSP не установлен. Необходимо загрузить дистрибутив программы с сайта разработчика и установить её на компьютер. В настройках плагина в графу Список доверенных узлов также следует добавить адрес ресурса, с которым работаете (например, nalog.ru).

Не удаётся построить цепочку сертификатов для доверенного корневого центра. (0x800B010A)

Картинка 2

При этой ошибке плагин не может сформировать запрос на создание ЭЦП. Она возникает, если по каким-то причинам нет возможности проверить статус сертификата. Например, если нет привязки к ключу или доступа к спискам отзыва. Также проблема может воспроизводиться, если не установлены корневые сертификаты.

Для устранения этой ошибки нужно привязать сертификат к закрытому ключу.

Сначала проверьте, строится ли цепочка доверия. Для этого нужно открыть файл сертификата, а затем вкладку Путь сертификации.

Ошибки

Если на значке сертификата отображается крест, это означает, что цепочка доверия не строится. В этом случае необходимо скачать и установить корневые и промежуточные сертификаты. Они должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат на ваше имя.

Для установки корневого сертификата необходимо:

  • Кликнуть правой кнопкой мыши по файлу.
  • В контекстном меню выбрать пункт Установить сертификат.
  • После запуска Мастера установки нажать Далее.
  • Выбрать вариант Поместить все сертификаты в выбранной хранилище и нажать Обзор.
  • Выбрать в списке хранилищ Доверенные корневые центры сертификации, нажать ОК, затем Далее.
  • Нажать Готово.

Установка промежуточных сертификатов выполняется точно так же, как и установка корневых, за исключением того, что в процессе установки вместо пункта Доверенные корневые центры сертификации нужно выбрать пункт Промежуточные центры сертификации.

Если вы создаёте ЭЦП таких форматов, как CAdES-T или CAdES-X Long Type 1, ошибка может возникать из-за отсутствия доверия к сертификату оператора службы предоставления штампов времени. В этой ситуации нужно установить корневой сертификат УЦ в доверенные корневые центры.

ЭЦП создаётся с ошибкой при проверке цепочки сертификатов

Создание ЭЦП с ошибкой

Данная проблема возникает из-за отсутствия доступа к спискам отозванных сертификатов. Списки должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат ЭЦП. Установка списков выполняется по той же схеме, что и установка промежуточного сертификата.

Ошибка несоответствия версии плагина

При проверке возникает сообщение «Установлен и настроен плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0.12438 и выше. — undefined». В этом случае необходимо установить плагин версии 2.0.12438 и выше.

Появляется сообщение «Плагин недоступен»

Данная проблема может возникнуть, если ваш браузер не поддерживает установленную версию плагина. Попробуйте воспользоваться другим обозревателем.

Ошибки 0x8007064A и 0x8007065B

Ошибки 0x8007064A и 0x8007065B

Ошибка возникает в связи с окончанием срока действия лицензий на КриптоПро CSP (КриптоПро TSP Client 2.0, Криптопро OCSP Client 2.0).

Чтобы создать электронную подпись с форматом CAdES-BES, необходима действующая лицензия на КриптоПро CSP. Создание ЭЦП с форматом CAdES-X Long Type 1 потребует наличия действующих лицензий:

  • КриптоПро CSP;
  • КриптоПро OCSP Client 2.0;
  • КриптоПро TSP Client 2.0.

После приобретения лицензии потребуется её активация.

Набор ключей не существует (0x80090016)

Набор ключей не существует

Возникает из-за того, что у браузера нет прав для выполнения операции. Для решения проблемы в настройках плагина добавьте сайт в Список доверенных узлов.

Отказано в доступе (0x80090010)

Отказано в доступе

Возникает в связи с истечением срока действия закрытого ключа. Чтобы проверить срок действия, запустите Крипто-Про CSP, затем откройте вкладку Сервис. Далее необходимо выбрать пункт Протестировать и указать контейнер с закрытым ключом. Если в результатах тестирования вы увидите, что срок действия закрытого ключа истёк, необходимо получить новый ключ.

необходимо получить новый ключ

Ошибка: Invalid algorithm specified. (0x80090008)

Появление такой ошибки означает, что криптопровайдер не поддерживает алгоритм используемого сертификата. Рекомендуется проверить актуальность версии КриптоПро CSP.

Если предлагаемые выше способы устранения ошибок не помогут, рекомендуем обратиться в службу поддержки КриптоПро.

У вас ещё нет электронной подписи? Её можно заказать у нас на сайте. Выберите подходящий вариант ЭЦП: для участия в электронных торгах, работы с порталами или отчётности. Процедура оформления не займёт больше одного дня.

Как правило, ошибка 0x80090008 при работе с электронной подписью возникает из-за некорректной работы программы КриптоПро CSP. Для устранения ошибки требуется исправить или переустановить ПО КриптоПро CSP.

1. Исправить программу КриптоПро CSP

Откройте панель управления.

control panel

Выберите «Удаление программы».

Панель управления. Удаление программы

Найдите программу «КриптоПро CSP» и нажмите «Изменить».

Изменить КриптоПро при ошибке 0x8009008

В открывшемся окне выберите «Исправить» и нажмите «Далее»

Исправить КриптоПро. Ошибка 0x8009008

После установки нажмите «готово».

Если после исправления КриптоПро CSP ошибка 0х8009008 осталась, переустановите программу.

2. Переустановить КриптоПро CSP

Инструкция: КриптоПро CSP: Как переустановить программу



Остались вопросы? Как мы можем помочь?

Как мы можем помочь?

Отсутствуют разрешения на использование ActiveX объектовОшибка проверка защищённого соединения с сервером Личного кабинета налоговой

Установил новую версию программы АРМ подготовка расчетов для ФСС версии 1.0.2.35, перенес базу данных, установил сертификат уполномоченного ФСС для взаимодействия с элн.
Проблема возникла при использовании компонента Подписание и шифрование документов. По нажатию кнопки подписать и зашифровать получаю: ошибка шифрования ((234 имеются дополнительные данные)). Что с этим делать, куда искать, в чем причина?


  • Вопрос задан

    более года назад

  • 398 просмотров

Я получаю ошибку More data is available с функцией GetComputerNameEx, но не знаю, как ее исправить.

Это мой код:

int wmain()
{
    COMPUTER_NAME_FORMAT nameType = ComputerNameDnsFullyQualified;
    WCHAR computerName[MAX_COMPUTERNAME_LENGTH + 1];
    DWORD size = ARRAYSIZE(computerName);

    BOOL pcName = GetComputerNameEx(nameType, computerName, &size);

    DWORD error = GetLastError();



    if (pcName != 0)
    {
        wprintf("Computer name: %sn", computerName);
    }
    else
    {
        wprintf(L"Error getting the name. Code: %lin", error);
    }

    return 0;
}

Не знаю, как установить переменную size в качестве вывода, чтобы я мог правильно объявить массив computerName.

3 ответа

Лучший ответ

Согласно документации GetComputerNameEx():

lpBuffer [выход]
Указатель на буфер, который получает имя компьютера или имя виртуального сервера кластера.

Длина имени может быть больше MAX_COMPUTERNAME_LENGTH символов , поскольку DNS допускает более длинные имена. Чтобы обеспечить достаточный размер этого буфера, установите для этого параметра значение NULL и используйте требуемый размер буфера, возвращенный параметром lpnSize.

lpnSize [вход, выход]
При вводе указывает размер буфера в TCHAR сек. На выходе получает количество TCHAR, скопированных в целевой буфер, не включая завершающий нулевой символ.

Если буфер слишком мал, функция завершается ошибкой и GetLastError возвращает ERROR_MORE_DATA . Этот параметр получает размер требуемого буфера, включая завершающий нулевой символ.

Если lpBuffer равен NULL, этот параметр должен быть равен нулю.

Например:

int wmain()
{
    COMPUTER_NAME_FORMAT nameType = ComputerNameDnsFullyQualified;
    WCHAR *computerName = NULL, *computerNameNew;
    DWORD size = 0;
    BOOL pcName;
    DWORD error;

    do
    {
        pcName = GetComputerNameExW(nameType, computerName, &size);
        if (pcName) break;

        error = GetLastError();
        if (error != ERROR_MORE_DATA) break;

        computerNameNew = (WCHAR*) realloc(computerName, sizeof(WCHAR) * size);
        if (!computerNameNew) {
            error = ERROR_OUTOFMEMORY;
            break;
        }

        computerName = computerNameNew;
    }
    while (1);

    if (pcName)
    {
        wprintf("Computer name: %sn", computerName);
    }
    else
    {
        wprintf(L"Error getting the name. Code: %uln", error);
    }

    free(computerName);
    return 0;
}


3

Remy Lebeau
20 Окт 2016 в 00:20

Вы должны вызвать функцию дважды; один раз с нулевым указателем, чтобы получить требуемый размер, и снова с буфером (как минимум) указанного размера. Как говорится в документах:

Чтобы обеспечить достаточный размер этого буфера, установите для этого параметра значение NULL и используйте требуемый размер буфера, возвращенный в параметре lpnSize.

Это общий шаблон для функций Win32. И да, это действительно приводит к возможному состоянию гонки, но именно так это работает.

Пример

DWORD dwSize = 0;
if (GetComputerNameEx(nameType, nullptr, &dwSize))
{
    WCHAR* computerName;
    computerName = (WCHAR*)malloc(dwSize * sizeof(WCHAR));
    if (GetComputerNameEx(nameType, computerName, &dwSize))
    {
        // use the name
    }
    free(computerName); // don't forget to free
}


5

Jonathan Potter
20 Окт 2016 в 01:21

Эта ошибка означает, что функции GetComputerNameEx требуется буфер большего размера для хранения возвращаемой строки.

Чтобы избежать состояния гонки, указанного в ответе Джонатана Поттера, вы можете сделать что-то вроде этого:

LONG error = ERROR_MORE_DATA;
WCHAR* buffer = NULL;
DWORD bufferLength = /* Some initial reasonable length for the string buffer */;
while (error == ERROR_MORE_DATA) {
    // Create a buffer with bufferLength size (measured in WCHARs)
    buffer = realloc(buffer, bufferLength * sizeof(WCHAR));

    if (GetComputerNameEx(nameType, buffer, &bufferLength)) {
        error = ERROR_SUCCESS;
    } else {
        error = GetLastError();
    }
}
if (error != ERROR_SUCCESS) {
    // Some error occurred
    ...
}

// Use buffer containing computer name

// Don't forget to free(buffer)


1

Mr.C64
20 Окт 2016 в 00:11

https://redos.red-soft.ru/base/other-soft/other-other/consultant/

Кажется на вики Альт Линукс есть похожая, но более подробная и вариативная инструкция.

По поводу монтирования через winecfg есть два нюанса. Во-первых, на машинах без последних обновлений всё работает и по прямому пути /mnt/auto/consultant-plus/cons.exe . Во-вторых, все пользователи на всех машинах создаются динамически, так что графический интерфейс не подходит.

Настройка дополнительной серверной машины по-видимому не требуется. На машинах с Альт Рабочая станция К 10, что последний месяц не обновлялись, Консультант+ работает нормально после регистрации администратором на виндовой машине.

Проблемы начались после очередного apt-get update && apt-get dist-upgrade -y && reboot

Насколько я понимаю, дополнительный ключ /YES просто положительно отвечает на все всплывающие диалоговые окна, не меняя логику работы приложения. Так, на машине с последними обновлениями, запуск приложения с этим ключом обходится без всплывающих окон, но сообщения об ошибках всё же пишутся в журнал CONS_ERR.TXT.

В качестве дополнения консольный вывод при работе с Wine.

Создание 32-разрядного префикса:

Спойлер

[reader_1f161d87@ALT-KW10-TEST-MONO-1 ~]$ mkdir ~/prefix
[reader_1f161d87@ALT-KW10-TEST-MONO-1 ~]$ export WINEPREFIX=~/prefix
[reader_1f161d87@ALT-KW10-TEST-MONO-1 ~]$ export WINEARCH=win32
[reader_1f161d87@ALT-KW10-TEST-MONO-1 ~]$ wineboot -u
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.6 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0048:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0048:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0048:err:ole:start_rpcss Failed to open RpcSs service
0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0050:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0050:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:fixme:imm:ImeSetActiveContext (0x25c9c8, 0): stub
0050:fixme:imm:ImmReleaseContext (00010020, 0025C9C8): stub
002c:fixme:imm:ImeSetActiveContext (0x25af90, 1): stub
002c:fixme:imm:ImmReleaseContext (0001004A, 0025AF90): stub
0078:err:winedevice:ServiceMain Failed to load L"C:\windows\system32\win32k.sys"
0078:err:winedevice:ServiceMain Failed to load L"C:\windows\system32\drivers\dxgkrnl.sys"
0078:err:winedevice:ServiceMain Failed to load L"C:\windows\system32\drivers\dxgmms1.sys"
0088:fixme:file:NtLockFile I/O completion on lock not implemented yet
0088:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0088:err:mscoree:LoadLibraryShim error reading registry key for installroot
0098:fixme:font:freetype_set_outline_text_metrics failed to read full_nameW for font L"Material Icons Outlined"!
0098:fixme:font:freetype_set_outline_text_metrics failed to read full_nameW for font L"Material Icons Round"!
0098:fixme:font:freetype_set_outline_text_metrics failed to read full_nameW for font L"Material Icons Sharp"!
0098:fixme:font:freetype_set_outline_text_metrics failed to read full_nameW for font L"Material Icons Two Tone"!
0088:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0088:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0098:fixme:imm:ImeSetActiveContext (0x5ab700, 1): stub
0098:fixme:imm:ImmReleaseContext (0002007A, 005AB700): stub
wine: configuration in L"/home/reader_1f161d87/prefix" has been updated.
0120:err:winediag:getaddrinfo Failed to resolve your host name IP
0120:fixme:imm:ImeSetActiveContext (0x58a660, 1): stub
0120:fixme:imm:ImmReleaseContext (0004006C, 0058A660): stub
wine: configuration in L"/home/reader_1f161d87/prefix" has been updated.

Попытка запуска КонсультантПлюс:

Спойлер

[reader_1f161d87@ALT-KW10-TEST-MONO-1 ~]$ wine /mnt/auto/consultant-plus/cons.exe /LINUX /YES
0358:fixme:ver:GetCurrentPackageId (0944FF00 00000000): stub
0350:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0380:fixme:winhttp:session_set_option unimplemented option 101
0380:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
0380:fixme:winhttp:set_cookies unhandled attribute L"expires"
036c:fixme:winhttp:session_set_option unimplemented option 101
036c:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
036c:fixme:winhttp:set_cookies unhandled attribute L"expires"
0390:fixme:ver:GetCurrentPackageId (0945FF00 00000000): stub
03a8:err:winediag:getaddrinfo Failed to resolve your host name IP
03b4:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0378:fixme:advapi:OpenEventLogW ((null),L"System") stub
0378:fixme:advapi:ReadEventLogA (CAFE4242,0x00000009,0x00000000,1CD6D1F0,0x00010000,0B34FACC,0B34FAD0) stub
0378:fixme:advapi:CloseEventLog (CAFE4242) stub
0350:fixme:file:NtLockFile I/O completion on lock not implemented yet
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0350:fixme:wtsapi:WTSRegisterSessionNotification Stub 000601E6 0x00000000
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0350:fixme:imm:ImeSetActiveContext (0xc40c8d0, 1): stub
0350:fixme:imm:ImmReleaseContext (000601E6, 0C40C8D0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
0350:fixme:shell:InitNetworkAddressControl stub
03c8:fixme:winhttp:session_set_option unimplemented option 101
03c8:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
03cc:fixme:winhttp:session_set_option unimplemented option 101
03cc:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
03c8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03c8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03c8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03c8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03c8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03c8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03c8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03c8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"secure"
03cc:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"secure"
03cc:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03d8:fixme:winhttp:session_set_option unimplemented option 101
03d8:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03d8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03d8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=3): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=1): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=0): stub
0050:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=00000000, edge=2): stub
03e0:fixme:winhttp:session_set_option unimplemented option 101
03cc:fixme:winhttp:session_set_option unimplemented option 101
03e0:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
03cc:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
03d8:fixme:winhttp:session_set_option unimplemented option 101
03d8:fixme:winhttp:request_set_option WINHTTP_OPTION_CONNECT_RETRIES
03e0:fixme:winhttp:set_cookies unhandled attribute L"expires"
03e0:fixme:winhttp:set_cookies unhandled attribute L"expires"
03e0:fixme:winhttp:set_cookies unhandled attribute L"secure"
03e0:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03e0:fixme:winhttp:set_cookies unhandled attribute L"expires"
03e0:fixme:winhttp:set_cookies unhandled attribute L"expires"
03e0:fixme:winhttp:set_cookies unhandled attribute L"secure"
03e0:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03d8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"expires"
03d8:fixme:winhttp:set_cookies unhandled attribute L"secure"
03d8:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"secure"
03cc:fixme:winhttp:set_cookies unhandled attribute L"SameSite"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"expires"
03cc:fixme:winhttp:set_cookies unhandled attribute L"secure"
03cc:fixme:winhttp:set_cookies unhandled attribute L"SameSite"

Позднее постараюсь сравнить с необновлённой машиной.

Ещё дополнение. Установка winetricks не помогла. А искать для Альта пакеты аналогичные riched30 и winhttp мне видимо придётся уже завтра…

  • Имеют ли врачи право на ошибку
  • Имергаз котлы ошибка 10 что означает
  • Имергаз котлы ошибка 02 как устранить
  • Именно эту проблему затрагивает автор этого текста исправить ошибку
  • Именно родители показывают детям образец поведения лексическая ошибка