1с не удалось создать объект для работы с криптографией
Здравствуйте, коллеги! В данной статье рассмотрим ситуацию, когда система 1С не «видит» КриптоПРО. Какой бы не была проблема, главным в ее решении является правильное определение причины. В нашем случае причин может быть аж 5, соответственно, и решений столько же. Далее разберем их подробнее.
КриптоПРО – это криптопровайдер (с английского – Cryptography Service Provider), представляющий собой самостоятельный модуль, благодаря которому можно выполнять действия, связанные с криптографией (такие как электронная подпись, разработка шифровок и так далее) внутри операционной системы. Можно сказать, что работа с криптопровайдером – это связующее звено между ОС (операционной системой) и программой. При этом обе составляющие взаимодействуют с пользователем. Большая часть программ, предназначенных для шифровок, не станут работать без КриптоПРО.
1. Выбор криптопровайдера от КриптоПРО
Выбирать криптопровайдер от КриптоПРО необходимо с оглядкой на операционную систему. Нередко из-за такой, казалось бы, банальности может возникать ошибка несоответствия 1С и КриптоПРО: возможно, была выбрана версия криптопровайдера, не подходящая под операционную систему (например, Windows или Unix), соответственно, программа может работать со сбоями и ошибками криптопровайдера, либо не запускаться вовсе. Так что, первый шаг – это убедиться в совместимости КриптоПРО с Вашим компьютером.
2. Ошибка установки КриптоПРО
Если после проверки соответствия криптопровайдера и ОС система 1С все равно не желает видеть КриптоПРО, рекомендуем проверить установили ли КриптоПРО CSP до конца согласно инструкции, которая идёт в комплекте с лицензией. В ней есть много нюансов – довольно частой причиной «недовольства» 1С являются ошибки установки КриптоПРО, так как программа имеет прямое отношение к конфиденциальности данных.
3. Использование средств криптографической защиты информации
4. Соответствие 1С и КриптоПРО
5. Заново установить КриптоПРО
В случае, если и это не сработало, и ошибка КриптоПРО все еще на месте, стоит заново установить Криптопровайдер по схеме, которая указана на официальном сайте системы 1С.
Если не один из перечисленных выше вариантов не сработал, тогда, вероятно, имела места быть системная ошибка. В таком случае проблема решается полной переустановкой ПО.
Если Вам необходима помощь в устранении ошибок с совместимостью криптопровайдера или любых других ошибок, возникающих при работе с прикладными решениями 1С, или необходима консультация по каким-либо вопросам, смело обращайтесь к нам – наши специалисты компетентны и отзывчивы! Нам в радость решать даже самые сложные задачи!
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
При получении больничного из ФСС на сервере - все загружается корректно.
На локальных машинах пользователей, при работе через тонкий клиент, возникают ошибки:
Не удалось создать объект для работы с криптографией. В системе не обнаружен криптопровайдер.
Сертификат страхователя: сертификат не выбран в настройках сдачи отчетности в ФСС!
Сертификат ФСС ЭЛН: сертификат не выбран в настройках сдачи отчетности в ФСС!
Что не хватает для работы с крипто-про на клиенте?
(0) ты сам и ответил, установленного криптопро на клиентских компах не хватает и сертификатов доступных тонкому клиенту
Есть три варианта:
1. Переписать 1С чтобы с криптопро работали только &НаСервере
2. Поставить на клиенты криптопро (с клиентскими лицухами)
3. Запускать клиентов 1С в терминале на сервере с серверным криптопро
Я думал схема взаимодействия должна быть примерно такой:
Клиент 1С СерверПриложения 1С КриптоПро
Неужели ТИПОВАЯ конфигурация подразумевает, что крипто-про надо ставить индивидуально на машину каждому пользователю?
(7) Типовая конфигурация подразумевает то что в нее заложили ее разработчики.
Например для ЕГАИС (работа с УТМ) с какой то версии во многих конфах есть выбор &НаСервер или &НаКлиенте вызывать, в настройках выбирается.
Что тут сделано в ЗУП3 лично я хз, никогда спецом по ЗУП не был и пока не горит.
Попробуй сам то код глянуть
(7) Это не так.
Там часть логики на клиенте, часть на сервере. И это правильно. При таком подходе я могу физически разделить доступность ключей ЭЦП. Т.е. если пользователю нужен ключ, я ему устанавливаю под конкретным пользователем.
Причем в некоторых случае есть возможность выбора. Например для ЭДО можно указать подписывать документы на сервере или на клиенте
Короче всё сложно.
Что-то здесь не так.
(10) Просто в таком случае на сервере нужно ставить серверную версию криптопровайдера. А она стоит вроде больше 100000 руб (крипто-про).
И судя по ошибки не хватает "сертификат не выбран в настройках сдачи отчетности в ФСС" и крипто про тут непричем
(13) сам же говоришь, что перед этой ошибкой сначала идет другая:
"Не удалось создать объект для работы с криптографией. В системе не обнаружен криптопровайдер."
вместо крипто-про есть бесплатныt аналоги, например ViPNet CSP, им без разницы, на клиенте стоит криптопровайдер, или на сервере )) в топку криптопро при таких ценах.
хотя есть особенность - если лицензия на криптопро встроена в сертификат - то такие бешеные бабки за использование криптопро на сервере платить не надо ))
(0) токен с ЭЦП куда воткнут - на сервере или на клиенте? на сервере в терминале работать не будет,т.к. это ограничение самой винды, втыкать надо на клиенте и настроить проброс смарт-карт с клиента на сервер
(16) К сожалению с ViPNet CSP не всё работает и даже если работает то плясок с бубном хватает.
Еще и с криптопро вместе нельзя устанавливать.
(18)+ Хотя должен признать что в одном месте сумел через випнет кассу онлайн зарегать в налоговой, так что вероятно и прочее тоже можно
(12) Если серверная лицензия CryptoPro для серверной винды, что тогда дает настройка 1С "Проверять подписи и сертификаты на сервере" в справочнике Настройки электронной подписи и шифрования
(16) Бесплатные продукты использовать не разрешают.
(22) Сервер можно поднять и на обычной винде, например на windows 10, и для крипто про эту будет считаться обычная винда.
Клиенты могут работать и на сервере (терминал) и для крипто про на такой клиент нужна серверная лицензия, не смотря на то что подписывать документы будешь на клиенте
(23) Про крипто-про понял, спасибо.
Мне не понятно в 1С на что влияет настройка "Проверять подписи и сертификаты на сервере"?
Да еще и в подсказке сказано "Позволяет НЕ устанавливать программу на компьютер пользователя. " - что они имели ввиду?
Этот параметр вроде один на всю базу, но при этом часть пользователей сидит в терминале, часть в веб-клиенте, часть в Citriх.
Какой тогда в нём смысл, если крипто-про говорите работает исключительно там где и пользователь?
(24) мы не говорим про исключительно. Как сделают разработчики.
Вполне возможно именно эта настройка влияет исключительно на подписания 1с-Отчетности, и не влияет на больничные листы
А они имеют ровно то что написано, правда не уточняют область применения этой настройки
(25) Скорее надо уточнить что разработчики ЗУПа пока не сделали подписание больничных листов на сервере.
Может кто подскажет как должен работать механизм проверки подписанного файла в 1С?
Мое видение процесса:
1. Получаем файл от контрагента.
2. В конфигурации должен быть регистр соответствия Сертификатов конкретному Контрагенту.
3. Методом перебора всех сертификатов и проверкой наличия данного сертификата в полученном файле узнаем что это за контрагент.
4. Проверяем действительность сертификата.
Пункт 3 не нравится.
Пункт 4 не знаю как реализовать.
(1) Для начала ответь на вопрос: каким ПО криптографии собираешься пользоваться? Avest, Copicom или нечто другое. Как определишься - выясняешь методы работы выбранной системы.
В идеале, работа с шифрованными данными выглядит так:
1. Получили файл
2. Скормили его системе шифрования, на предмет определения есть подпись или нет
3. Попросили расшифровать, если подпись есть
Вполне вероятно, что п.2 и п.3 выполняются за одно действие.
Не изобретай велосипед, там где он не нужен. До тебя уже всё сделали и придумали как хранить сертификаты (выпуск, отзыв, обмен, локальное хранилище, обмен с выше стоящим УЦ), как проверять их актуальность, как использовать в шифровании/дешифровании данных и проч.
(2) посмотреть бы этот велосипед. :)
про первый вопрос - вообще думал что КриптоПро буду использовать и МенеджерКриптографии.
(3) вот и почитай как работает, где хранит ключи, как получает сертификат, какие функции доступны для программного использования.
Как минимум на сайте производителя.
На сколько я помню, там целая система замкнутая на носитель контейнера, вроде всё на нём и хранится.
Изучил бы для начала предметную область.
А без минимальных знаний в оной вопросы "Как должна работать проверка подписи в 1С" аналогичны "Есть ли жизнь на Марсе?"
ситуация точь в точь как в (5).
Так что предметнаяобласть - она тоже.. разная.. И кой-кому тоже бы не помешало ее подучить. :)
(9) + с первого апреля этого года, проверка хэша в электронной подписи является обязательным условием для юридической значимости документа, если подпись не хранит хэш - документ не имеет силы
Так что для двухстороннего обмена - одно дело. Можно и шифровать, и обменяться открытыми ключами и т.д.
Здравствуй Гиктаймс, сегодня мы поговорим о некоторых, а по сути — одной большой, проблемах сдачи электронной отчетности в системе GNU/Linux.
Вопрос сдачи электронной отчетности из ОС Linux давно обсуждался как на Хабре/Гиктаймс, так и на тематических форумах — Мисте, Убунту, ЛОРе, КриптоПро и форуме техподдержки 1С: ИТС. В двух словах на настоящий момент есть два решения — либо использовать облачную КЭП и сдавать отчетность через обозреватель, либо использовать выделенную/виртуальную машину с установленной ОС Windows (пусть даже пробной версией) для сдачи отчетности. Вариант сдачи отчетности с помощью специализированных утилит предоставляемых органами (ФНС, ПФР, ФСС, Росстат, ФСРАР) возможен только при использовании Wine@Etersoft, что фактически тоже костыль (ибо нам потребуется ДВЕ лицензии на СКЗИ КриптоПро — для Windows и Linux).
Не секрет что для ОС GNU/Linux существует не так уж и много программ, для ведения бухгалтерии: Ананас (который ныне покоится с миром), украинский Дебет+ (у которого модуль поддержки Российского законодательства не обновлялся уже, Ктулу знает сколько) и 1С бухгалтерия. Имеются в виду Нативные приложения. Из всех вышеперечисленных только 1С на момент написания статьи входит в государственный реестр отечественного ПО и содержит механизмы подготовки и сдачи отчетности в электронном виде через спец-операторов электронного документооборота. К слову операторов, поддерживаемых 1С бухгалтерией не много: ЗАО "Калуга-Астрал" (разработчик подсистемы 1С-Отчетность), ООО "Такском", ООО НПФ "Форус" и мифический "Прочий оператор документооборота".
К сожалению сдача отчетности из 1С сопряжена с рядом трудностей, с которыми может столкнуться рядовой (да и опытный) системный администратор. Разумеется мы подробно рассмотрим эти проблемы и способы их решения.
Первая проблема с которой мы сталкиваемся — это СКЗИ. Нет, не их отсутствие, они есть. Для Linux есть несколько сертифицированных СКЗИ (с поддержкой ГОСТ) доступных к установке и используемых в разных подсистемах. На момент написания статьи это следующие СКЗИ, поправьте меня, если я что-то упустил:
CryptoCom
Данная СКЗИ доступна для платформ i686 и amd64, используется в основном в системах интернет-банкинга, в частности системой iBank (используется многими банками, такими как ГазпромБанк, УБРИР, Альфа и д.р.).
CryptoPro CSP
Фактически единственное на настоящий момент комплексное решение для Linux для работы с электронной подписью и шифрованием. Доступна для платформ i686, amd64, armhf (включая android), PowerPC. Это не говоря уже о том что у них есть версии для Solaris (i686, amd64, sparc), AIX, FreeBSD, OSX и iOS. Как ни странно (сарказм), именно КриптоПро официально рекомендуется многими органами государственной власти для взаимодействия и электронного документооборота. Лицензии на КриптоПро часто идут в составе ключа ЭЦП, и в составе договора комплексного обслуживания для сдачи отчетности. Мой выбор был однозначным в пользу этого СКЗИ. К минусам можно отнести относительную сложность установки на системах отличных от RHEL/SLES и встречающиеся недочеты в сборке пакетов ПО (не разрешенные импортируемые символы и экспортируемые функции с разорванными зависимостями). В большинстве случаев эти недочеты не видны пользователю, т.к. данные функции предназначены для работы различных библиотек в составе КриптоПро и автоматически разрешаются при их первом вызове ядром ОС (в адресном пространстве приложения уже загружены нужные библиотеки). Второй минус — отсутствие почтового клиента, если обозреватель CryptoFox представлен, но от поддержки Thunderbird в КриптоПро отказались. Нужно отдать должное, что с их стороны предпринимались активные попытки внести изменения в рабочую версию NSS с целью поддержки ГОСТ, но воз и ныне там. Если бы изменения были приняты, поддержка ГОСТ появилась бы во всех обозревателях и приложениях использующих NSS, таких как Open/LibreOffice, продуктах Mozilla, Nautilus/Nemo, Thunar, XCA и других программах.
По понятным причинам был выбран СКЗИ КриптоПро, и давайте остановимся на нем подробнее.
Во-первых, для платформы Linux отсутствует знакомое многим приложение КриптоАРМ, для подписи документов. Впрочем для создания прикрепленной и открепленной подписи можно воспользоваться утилитами командной строки. Для создания и проверки открепленной цифровой подписи мной были созданы два сценария — sign и verify, соответственно. Текст сценариев приведен ниже, согласен что они несколько костыльные, но писалось на скорую руку, а на тот момент бета-версия CryptoPro 4.0 ведя себя странно, при прямой передаче путей к подписываемым, и выходным файлам.
С версией 3.9 ситуация ещё веселее — 1С её уже не видит, но CryptoFox ещё падает, при чем как старый, так и новый.
Версия 4.0, напротив — не видится 1С, но зато с ней заводится CryptoPro Browser Plugin 2.0, работает вход на госплощадки из CryptoFox (о них разговор отдельный, и если разбирать работу из ОС GNU/Linux с ними — материала хватит на ещё одну статью). Проблема — заставить увидеть 1Ску установленный СКЗИ. Проблема в общем то не такая уж и серьёзная, решается буквально за пятнадцать секунд, но на поиск самого решения ушла целая неделя общения с техподдержкой КриптоПро (и отпинывания меня поддержкой 1С на инструкцию в ИТС). В итоге проблема была решена самостоятельно, и решение в конечном итоге опубликовано на форуме КриптоПро. Методология решения проблемы на будущее:
В 1С бухгалтерии имеется возможность добавить произвольный криптопровайдер. Воспользуемся этим механизмом, добавьте нового криптопровайдера, и назовите его, скажем "КриптоПро CSP 4.0".
- Указываем следующие данные:
Имя программы Crypto-Pro GOST R 34.10-2001 KC1 CSP Тип программы 75 Алгоритм подписи GOST R 34.10-2001 Алгоритм хеширования GOST R 34.11-94 Алгоритм шифрования GOST 28147-89 - Сохраняем криптопровайдер и указываем путь к библиотеке: /opt/cprocsp/lib/amd64/libcapi20.so
Готово, 1С теперь видит установленный криптопровайдер. Казалось бы — всё, можно проступать к добавлению сертификатов и настройке сдачи отчётности, но не тут то было. Маленькая беленькая сибирская лисичка подкралась к нам откуда мы и не ждали — от самих разработчиков 1С. Так исторически сложилось, что подсистему электронного документооборота, 1С-Отчетность, ядро 1С и конфигурации пишут разные люди, и даже разные компании. При создании конфигураций с функцией 1С-Отчетность для 1С 8.3, например "Бухгалтерия предприятия 3.0", разработчики не долго думая перенесли всю подсистему ЭДКО "как есть", без изменений, в результате чего мы получаем парадокс. Сама 1С бухгалтерия видит СКЗИ, видит сертификаты, позволяет их установить, подписать и зашифровать любые документы, но при этом система электронного документооборота (старая версия) в упор не видит ни одного установленного сертификата, и соответственно не может даже получить начальную конфигурацию от оператора документооборота — её попросту нечем расшифровывать. Вернее чем расшифровывать есть, но подсистема ЭДКО использует свой собственный механизм работы с СКЗИ, задействуя внешнюю компоненту (только для Windows) и ничего не знает о существовании встроенных механизмов работы с СКЗИ, которые использует сама 1С в рамках конфигурации.
Тем не менее, подсистема ЭДО (не путать с ЭДКО) с контрагентами видит все актуальные сертификаты и позволяет подключиться к системе электронного документооборота. Но не сдачи отчетности.
Для Linux действует ограничение на прямую работу конфигурации Клиент-ЭДО, с внешней конфигурационной базой, и для этого нужен работающий сервер 1С. Так как базовые версии конфигураций не позволяют использовать клиент-серверный вариант развертывания 1С, интеграция Клиент-ЭДО и бухгалтерии в Linux для таких конфигураций не возможна, будет работать только для полнофункциональных. В большинстве конфигураций можно включить обмен с контрагентами, и он будет работать, несмотря на не работающую 1С-Отчетность.
Если мы откроем конфигуратор и включим режим отладки, мы увидим следующую картину:
Формы 1С-Отчетности используют Общие->ОбщиеМодули->КриптографияЭДКОКлиент, который в свою очередь опирается на работу внешней компоненты Addin.ЭДОNative.CryptS.
Тот же функционал работы с электронной цифровой подписью и шифрованием (без функционала обмена транспортными контейнерами по электронным каналам связи) реализован в Общие->ОбщиеМодули->ЭлектроннаяПодписьКлиент, которая учитывает работу в ОС семейства Linux и корректно загружает как и внешнюю компоненту работы с XMLDSig, так и модуль криптопровайдера. Данная библиотека корректно видит все сертификаты, позволяет осуществлять подпись и шифрование документов, содержит функции для работы как с объектами в памяти так и с файлами на жестком диске. Данная библиотека используется во всех стандартных механизмах работы с ЭЦП внутри 1С, кроме подсистемы 1С-Отчетности (ЭДКО).
То есть для реализации работы подсистемы 1С ЭДКО достаточно переписать либо формы 1С-Отчетности на использование встроенных механизмов, либо перегрузить КриптографияЭДКОКлиент, для использования не внешней компоненты, а переадресовывать вызовы работы с сертификатами, ЭЦП и шифрованием на встроенный клиент работы с СКЗИ.
Общение с техподдержкой 1С дало лишь ответ что они в курсе данной проблемы, но клиентов использующих ОС GNU/Linux слишком мало (потребность не носит массовый характер), но задача у них "записана".
UPD:
Таки удалось завести работу мастера после детального изучения исходников. Пока застрял на расшифровке контейнера от Такском, но сертификаты уже видятся. Работает только на свежей версии КриптоПро 4. Завести как указано ниже. Наименование представления роли не играет, но "внутри" 1С-ЭДКО именно так:
Представление | CryptoPro CSP |
Имя программы | Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider |
Тип программы | 75 |
Алгоритм подписи | GOST R 34.10-2001 |
Алгоритм хеширования | GOST R 34.11-94 |
Алгоритм шифрования | GOST 28147-89 |
Обязательными при проверке являются поля Имя программы и Тип программы. Имя программы относится к режиму совместимости с версией криптопровайдера 2.0, в бета версии 4.0 наименование отсутствовало.
Основная проблема скрыта тут: Общие->Общие модули->КриптографияЭДКОСлужебныйКлиент.ПолучитьКриптопровайдеры
Для Linux убрать единичку. Или добавить проверку для версии КриптоПро 3.9 и выше:
Общие->Общие модули->КриптографияЭДКОКлиентСервер.ПолучитьКриптопровайдеры.КриптопровайдерCryptoPro
Имя: Crypto-Pro GOST R 34.10-2001 KC1 CSP
для клиента, или
Имя: Crypto-Pro GOST R 34.10-2001 KC2 CSP
для сервера.
"1С:Предприятие. Актуальные рекомендации и консультации"
1.Вопросы и ответы линии консультаций.
2. Последние релизы программ 1С:Предприятие
3. Бесплатные вебинары компании «1С:Сервистренд»
4. Антивирусная защита 1С от ВИРУСОВ и ПОТЕРИ данных. Бесплатно 30 дней.
5. Бесплатная диагностика программы «1С:Зарплата и Управление Персоналом 8» по переходу на редакцию 3.1 от компании «1С:Сервистренд»
1. Вопросы и ответы линии консультаций.
1.Линия Консультации компании «1С:Сервистренд» отвечает:
1С:Зарплата и Управлением Персоналом
Вопрос: При формировании отчета 6-НДФЛ в ЗУП 3.1 в строку 020 не попадает сумма б/л за сентябрь, выплаченный в октябре, почему?
Ответ: Если, пособие по временной нетрудоспособности начислено в сентябре 2017 года, а выплачено в октябре 2017 года, тогда такой доход отразится в разделе 1 и 2 расчета за 2017 год, так как дата фактического получения этого дохода определяется как день его выплаты. Для целей НДФЛ это пособие является доходом октября. Можете сформировать отчет за год и увидите там эти данные.
2.Линия Консультации компании «1С:Сервистренд» отвечает:
1С:Бухгалтерия
Вопрос: Бухгалтерия предприятия, редакция 3.0 (3.0.52.42) как правильно отразить - если страховые взносы оплаченные не принят к зачету в налоговой. раньше было не принят к зачету, теперь нет…
Ответ: В расчете по страховым взносам нет возможности указать переплаченные суммы. Форма расчета изменена, имеет вид декларации. Поэтому не указываются данные позиции. Аналогичная форма заполнения осталась только для 4-ФСС
3.Линия Консультации компании «1С:Сервистренд» отвечает:
1С:Бухгалтерия
Вопрос: При работе в программе 1С Бухгалтерия ред. 3.0 периодически появляется ошибка "Прекращена работа программы. Приложение будет закрыто". Очистка КЭШа, тестирование и исправление, а также обновление платформы не решает проблему
Ответ: В данном случае помог перенос файлов баз данных в каталог с латинскими именами
4.Линия Консультации компании «1С:Сервистренд» отвечает:
1С:Бухгалтерия
Вопрос: Бухгалтерия предприятия редакция 2.0. При отправке отчета происходит ошибка "Не удалось создать объект для работы с криптографией"
5. Линия Консультации компании «1С:Сервистренд» отвечает:
1С:Отчетность
Вопрос: Можно ли подключить на другой компьютер 1С-Отчетность?
Ответ: Если у Вас локальные ключи, то их можно перенести на другой компьютер, скопировав их. Главное, что был криптозащита была одинаковая. Если ключи облачные, то на другом компьютере можно сразу отчетностью пользователь.
Читайте также: