Инструкция по подключению к ИС РНиП. Установка пакета Microsoft .NET Framework 4.0 (или 4.5 для систем Windows 8 и Windows Server 2012): http://www.microsoft.com/en-us/download/details.aspx?id=17851 Для установки необходимо подключение к Интернету. Или можно скачать заранее установщик клиентской части фреймворка: http://www.microsoft.com/en-us/download/details.aspx?id=24872 Установка Крипто-Про CSP 3.6 http://www.cryptopro.ru/products/csp/downloads#2 Для скачивания необходима регистрация (она бесплатная, нужен e-mail). Качать следует CSP 3.6 R3 (она периодически обновляется, поэтому качайте всегда самую свежую версию). Для работы ЭП необходима клиенткая лицензия лицензия на КриптоПро. Она стоит 1800 рублей. В случае, если на компьютере ранее не было установлено КриптоПро, оно в течение 3х месяцев полнофункционально работает без ключа. За это время необходимо его получить. Для установки обязательно нужны администраторские права. Всю процедуру установки настройки следует совершать пользователем-Администратором компьютера. В процессе установки возможны требования о перезагрузке системы – лучше перезагружаться сразу, как только они возникают. Разница в версиях R3 и R2 состоит в сертификации по 152ФЗ (персональные данные). Сертификация происходит по исходным кодам приложения, таким образом после неё доработка приложения невозможна. Сертифицированной версией является R2. В версию R3 периодически вносятся изменения, поэтому она в целом функционально лучше. В частности, R2-версия может некорректно работать с .NET Framework 4.5, которая ставится на Windows 8 и Windows Server 2012. С этими системами лучше использовать R3. И вообще лучше использовать R3, если нету обязательных требований к сертификации по ПД. Тем не менее, на версии R3 возможно возникновение проблемы установки сертификата в хранилище локальной машины, о чём ниже. В этом случае следует использовать версию R2. Установка КриптоПро .NET Аналогично предыдущему пункту (включая политику лицензирования). Скачивайте всегда свежую версию для установки. Стоимость одной лицензии 600 рублей. Количество лицензий. Здесь есть два варианта. 1) Работа в режиме модуля программы. Не требует дополнительной настройки нашего ПО, но требует установки и настройки КриптоПро и КриптоПро.NET с лицензиями (а также используемых сертификатов) на каждый компьютер, с которого будет производиться работа по выгрузке данных в ИС РНиП. 2) Если рабочих мест много и установка КриптоПро на каждое не является возможной, то есть возможность установить на одну машину КриптоПро, КриптоПро.NET, сертификат для обмена и вебсервис нашей разработки, через который будет вестись работа. Подробнее этот процесс будет описан, когда/если в нём возникнет необходимость. Обновление «Бухгалтерии». В новой версии «Бухгалтерии» добавлен модуль по связи с ИС РНиП. Он активно дорабатывается, поэтому чем чаще будет обновляться программа у пользователей, тем лучше. О сертификатах. Для взаимодействия с ИС РНиП необходимо использование цифрового сертификата (ЭП), соответствующего российским ГОСТам по криптографии. Для автоматического функционирования этот сертификат должен быть соответствующим образом установлен в операционной системе. Технологически это может быть сделано с любым сертификатом, выданным удостоверяющим центром, входящим в единое пространство доверия. На практике обладатели ЭП могут быть против таких действий, т.к. при такой установке любой человек, имеющий доступ к компьютеру, на который установлен данный сертификат, сможет использовать его для подписи, не имея доступа к токену, на котором этот сертификат был изначально. В этом случае (а также в случае, когда ЭП в организации ещё нету) следует получить так называемую «Технологическую подпись» для информационной системы. Алгоритм получения такой подписи приводится. В промышленной эксплуатации должен использоваться сертификат, выданный для учреждения. В случае, если в данный конкретный момент у учреждения подходящего сертификата нету, для временной (опытной) эксплуатации в начале можно использовать сертификат системы «Администратор неналоговых доходов», который можно получить во временное пользование у меня (Евсеев Антон). Однако при необходимо немедленно инициировать процесс получения ТЭП, т.к. использование нашей подписи юридически не разрешено, и долго на это закрывать глаза не будут. О принципах электронной подписи Немного терминологии. Носитель – это физическое устройство, на котором хранятся ключи. Как правило, это USBтокены (флешки), которые называются «смарт-картами». Также носителем может быть реестр операционной системы. Считыватель – это понятие КриптоПро; зарегистрированные считыватели показывают, на каких устройствах КриптоПро будет искать ключи для подписи. Для нашей работы необходимо, чтобы были зарегистрированы считыватели смарт-карт и реестра. Контейнер – это некоторая условная зашифрованная сущность, которая содержит в себе сертификат и ключи подписи. На одном носителе может быть множество контейнеров. Сертификат – это набор данных, описывающих человека (или организацию), которому он выдан удостоверяющим центром. Сертификат определяет алгоритмы хэширования и шифрования, использующиеся для подписи. В комплект к нему идут ключи, как правило их два – открытый и закрытый. Сам сертификат подписан удостоверяющим центром, что обеспечивает невозможность его незаметно изменить. Ключи – это сгенерированные по особому алгоритму данные, использующиеся для шифрования. То, что зашифровано закрытым ключом, можно расшифровать только с использованием открытого ключа и наоборот. Хэш – значение, выдаваемое хэш-функцией на основании входящих данных. Отличительными особенностями хэш-функции является во-первых, компактность результата (для любого объёма входящих данных размер результата не меняется), а во-вторых, то, что для одних и тех же входных данных получается один и тот же результат. Электронная подпись – подтверждение неизменности данных (а также подтверждение личности отправителя). Принцип подписи состоит в следующем: берётся отправляемый документ, с него рассчитывается хэш, этот хэш шифруется с использованием закрытого ключа, результатом чего и является значение подписи. В комплект к отправляемому документу вместе с подписью отправляется открытая сертификата подписывающего лица (содержащая в себе открытый ключ). Получатель может просмотреть сертификат, убедиться, что отправитель – тот, от кого он ждёт данные, после чего он может с помощью открытого ключа расшифровать полученную подпись и получить хэш документа. После этого он может самостоятельно рассчитать хэш пришедшего документа по алгоритму, указанному в сертификате, и сравнить его с хэшем, полученным из подписи. Если эти хэши совпадают, значит, документ пришёл в неизменном виде. О ключах и сертификатах В общем случае ключи могут существовать отдельно от сертификата. И кое-где это в своё время действительно так использовалось. В частности, казначейство в своё время позволяло пользователям генерировать свои ключи, после чего выдавало на них сертификат, всё это добро распространялось на дискетах и где-то даже использовалось. Такие ключи у нас работать скорее всего не будут. На совещаниях в ДИТ подтвердили возможность использования ключей, выданных УЦ «Электронная Москва», а также упоминалась возможность использования казначейских ключей. В документации они пишут , что возможно использование ключей, выданных УЦ, входящими в единое пространство доверия (т.е. практически любым УЦ). В рекомендациях и инструкции, тем не менее, они указывают УЦ «Электронная Москва», поскольку, видимо, с ними у них существует определённая договорённость. Рекомендации следующие: 1) Если в организации ключей ЭП нету вообще или есть старого образца на дискетах и т.п., то получать новые ключи в «Электронной Москве». 2) Если ключи уже есть, то нужно проверить издателя. Если он входит в ЕПД, то их использование возможно. Нужно будет пробовать, если не взлетит – будем направлять в ДИТ информацию, чтобы они разбирались, почему не подходят такие ключи. Смарт-карты Как правило, смарт-карты, выдаваемые московскими УЦ, бывают двух видов: eToken и RuToken. В контексте использования их для подписи принципиальной разницы между ними нету. Тем не менее, для работы с ними на компьютере должны быть установлены соответствующие драйверы. RuToken: http://www.rutoken.ru/hotline/download/drivers/ eToken: http://www.isecurity.info/downloads.aspx УЦ как правило предоставляет возможность выбора, на каком токене получить сертификат. Если нету каких-то принципиальных требований у организации, рекомендую выбрать RuToken. Просто потому, что такой у меня есть и если вдруг возникнут какие-то проблемы, их будет проще решить. Просмотр сертификата на токене Чтобы посмотреть на сертификат, необходимо, чтобы на компьютере был установлен КриптоПро CSP, а также драйвер соответствующей смарт-карты. После этого следует запустить контрольную панель КриптоПро (Панель Управления -> Система и безопасность -> Администрирование -> Крипто-Про CSP), выбрать вкладку «Сервис»: Нажать кнопку «Просмотреть сертификаты в контейнере» (здесь придётся использовать пин-код доступа к токену, если он установлен). В открывшемся окне нажать кнопку «Обзор»: В новом окне будет показан список доступных контейнеров. Если этот список пуст, значит, существуют какие-либо проблемы с токеном (нет драйвера, не зарегистрирован считыватель смарт-карт и т.п.) Выбрав доступный контейнер и нажав кнопки ОК и Next, вы перейдёте к окну, в котором указаны основные свойства сертификата: По кнопке «Свойства» откроется детальное отображение сертификата, где на вкладке «Details» можно будет просмотреть все его значения: В частности следует обратить внимание на поля: Signature algorithm (алгоритм подписи, т.е. по сути – шифрования), Signature hash algorithm (алгоритм хэш-функции) – эти алгоритмы должны быть такими же, как на изображении. Issuer – организация, предоставившая сертификат, должна входить в ЕПД. Subject – лицо (или организация), которым предоставлен сертификат. Valid to – дата окончания действия сертификата (после неё его нельзя использовать). Установка ключей в реестр Копирование контейнера Крипто-Про предоставляет возможность скопировать контейнер с сертификатом с одного носителя на другой. В нашем случае мы будем копировать контейнер с ключами со смарт-карты в реестр. Это необходимо, чтобы сделать ключи подписи доступными для приложения в автоматическом режиме. Для этого необходимо выполнить следующие действия. Зайти в панель управления Крипто-Про и (если это версия R2) нажать на надпись «Запустить с правами администратора» (в R3 оно по-умолчанию запускается с администраторскими правами): Перейти на вкладку «Сервис» и нажать кнопку «Скопировать». В открывшемся окне обязательно установить переключатель в положение «Компьютера» (на версии R3 в некоторых случаях этот переключатель недоступен, выявить закономерность мне не удалось, поэтому, если на версии R3 вы не можете переключить его в нужный режим, сносите R3 и ставьте R2). Далее нажать «Обзор» и выбрать контейнер, содержащийся на вставленной смарт-карте (аналогично предыдущему пункту). Нажать кнопку «Next» и ввести пин-код доступа к смарт-карте (по-умолчанию обычно 12345678). В открывшемся окне ввести имя ключевого контейнера (должно быть уникальным) и убедиться, что переключатель стоит в положении «Компьютера»: В открывшемся окне выбери носитель «Реестр» и нажмите ОК: В следующем окне вам предложат установить пароль на контейнер, следует оставить поля пустыми! Установка сертификата Далее аналогично пункту «Просмотр сертификата в токене» открываем наш новый контейнер. Не забудьте при выборе поставить переключатель в положение «Компьютера». В списке выбора должен быть доступен наш новый контейнер: В окне просмотра свойств сертификата нажимаем кнопку «Установить»: Должно появиться сообщение: Обратите внимание на слова «локального компьютера». Если сертификат установился в хранилище пользователя, значит, ранее при копировании вы не указали переключателем правильное положение. После установки нажмите кнопку «Свойства». На первой вкладке убедитесь в том, что сертификат у вас доверенный (у недоверенного графическое изображение сертификата в верхней части окна будет с красным крестом: Если вы устанавливаете новый сертификат от УЦ, с которым раньше не работали, то наиболее вероятно он не будет доверенным сразу. Для того, чтобы сделать его доверенным, необходимо установить сертификат УЦ в список доверенных УЦ. Для этого откройте третью вкладку («Путь сертификации»): Выберите сертификат УЦ в цепочке и нажмите кнопку «Просмотреть»: В окне просмотра сертификата УЦ нажмите кнопку «Установить». В открывшемся окне укажите самостоятельный выбор места установки и выберите из списка пункт «Доверенные корневые центры»: В диалоге утверждения подтвердите установку. Права на закрытую часть сертификата После выполнения предыдущих пунктов сертификат будет доступен в оснастке «Сертификаты» (Пуск -> Все программы -> Крипто-Про -> Сертификаты) в разделе «Сертификаты (локальный компьютер)»: Для того, чтобы он мог быть использован, необходимо выдать права на его использование. В случае, если используется модуль «Бухгалтерии», необходимо выдать права на сертификат тем пользователям, под чьим именем запускается «Бухгалтерия». В случае использования вебсервиса необходимо выдать права системному пользователю, от чьего имени работает пул приложений сервиса (подробнее об этом – отдельно). Если у вас установлен КриптоПро версии R3, то вам повезло, назначение прав поддерживается прямо через оснастку сертификатов. Для этого необходимо кликнуть правой кнопкой по сертификату и выбрать пункт «Управление закрытыми ключами». В открывшемся окне необходимо добавить пользователей в список и выдать им полные права доступа к сертификату: Если у вас установлен КриптоПро версии R2, то там так сделать нельзя, и придётся лезть в реестр. Для этого жмём Пуск -> Выполнить, пишем в строчке «regedit» и запускаем. Откроется редактор реестра. В реестре ищем ветку: «HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Keys\<название контейнера в реестре>», жмём по ней правой кнопкой, выбираем пункт редактирования прав доступа и аналогично выдаём права нужным пользователям. Последовательность подключения к ИС РНиП Для подключения к ИС РНиП необходимо: 1) Заполнить заявку на подключение, подписать у руководства организации и поставить печать, отправить скан заявки в службу поддержки ИС РНиП (rnip@bss-e.com). Регистрация происходит в течение пяти дней, в ответ служба поддержки вышлет наименование и код организации, зарегистрированной в системе (их нужно будет указать в настройках). 2) Указать в настройках программы адрес тестового сервиса РНиП, создать и выгрузить в него каталог услуг. Создать тестовое начисление и выгрузить его также. Связаться со службой поддержки, чтобы они проверили корректность заполнения. 3) После проверки корректности заполнения каталога и начисления служба поддержки активирует регистрационную информацию об организации в «боевом» сервисе, после чего можно будет изменить в настройках адрес тестового сервиса на боевой и выгрузить каталог услуг на боевой сервис. После выполнения этих действий формально можно утверждать, что организация подключена к ИС РНиП. Работа в «Бухгалтерии» Настройки соединения Для настройки соединения следует открыть пункт меню Настройки -> Обмен данными -> Настройки РНиП. Наименование и код РНиП – должны быть заполнены как на изображении. Наименование: ИС_РНиП. Код: MSKS11. Адрес сервиса публикации данных – тут должен быть указан адрес нашего вебсервиса взаимодействия с РНиП (если он используется). Адрес сервиса РНиП – адрес самого РНиП. Тестовый: http://193.47.154.2:7003/UnifoSecProxy_WAR/SmevUnifoService Боевой: http://212.45.30.47:9080/UnifoSecProxy_WAR/SmevUnifoService Наименование и код учреждения, взаимодействующей с РНиП – это наименование и код, которые присылает служба поддержки РНиП при регистрации, они должны быть заполнены в реквизитах организации. Сертификат для обмена с РНиП – тот сертификат, которым будут подписаны все сообщения обмена с РНиП. Следует выбрать установленный для этого ранее сертификат. Это поле также заполняется в реквизитах организации. Категории услуг Категории услуг формируются на стороне РНиП и согласовываются с ДИТ. В «Бухгалтерии» присутствует справочник, связующий данные Бухгалтерии с реестром категорий РНиП. На данный момент он не отражает все возможные категории ИС РНиП. Если потребуется какая-либо категория, не отражённая в этом справочнике, следует написать об этом запрос в СРВ. Задействованные в ИС РНиП категории можно просмотреть по адресу: https://pgu.mos.ru/ru/application/charges/search/?catalog Справочник категорий в «Бухгалтерии» доступен через пункт меню Справочники -> Универсальные справочники -> Внутренние словари -> Категории начислений. Редактировать его содержимое не следует за исключением поля «Вид оплаты». Услуги в ИС РНиП бывают оплачиваемыми по начислению, авансом или с совмещённым режимом оплаты. По умолчанию все услуги в справочнике отмечены как совмещённые. Если это по какой-то причине не будет устраивать, этот пункт можно менять на своё усмотрение. В будущем настройка вида оплаты, вероятно, будет вынесена из настроек категорий в настройки отдельных услуг. Виды оплаты услуг Авансовый – организация публикует реквизиты оплаты, пользователь оплачивает услугу по ним. По начислению – организация публикует начисление на конкретного человека (организацию) и на конкретную сумму, которое должно быть оплачено. Совмещённый – как следует из названия, возможна работа в обоих режимах. Каталог услуг Каталог услуг формируется в окне, доступном через пункт меню «Настройки -> Реестр начислений». Функциональность данного окна аналогична «Журналу проводок». На вкладке фильтров доступен фильтр по категориям начислений. Право на открытие окна в сисадмине находится в разделе «Банк» с названием «Реестр начислений». Рекомендации по заполнению каталога услуг: 1) Организация и счёт в проводке – это организация и счёт, на которые должна быть оплата (оформлено платёжное поручение) по данной услуге. 2) Если услуга авансовая с фиксированной суммой оплаты, то в проводке можно указать сумму, которая должна быть оплачена. 3) КБК в дебетовой части проводки попадает в платёжное поручение, которое будет сформировано для оплаты данной услуги и должен быть настроен соответствующим образом; 4) Тип контрагента (устанавливается через кнопку «Действия») указывает, является ли плательщиком по данной услуге физическое лицо или организация. Обязательно должен быть установлен для корректной работы. Если одна и та же услуга оказывается и физлицам, и организациям, необходимо её завести в двух экземплярах (для физлиц и организаций соответственно). 5) Описание операции – наименование услуги. 6) Добавление новых услуг происходит по кнопке «Добавить» во вкладке со списком проводок. При добавлении необходимо сразу указать категорию услуги, а также организацию и счёт. 7) Налоговые реквизиты операции (Действия -> Дополнительные данные начисления -> Реквизиты ПП) указываются, если должны попадать в платёжное поручение по оплате, в противном случае указывается значение «0» во всех полях. 8) Назначение платежа (Действия -> Дополнительные данные начисления -> Назначение платежа). Формируется из отдельных кусочков, каждый из которых может быть видим или невидим, доступен или недоступен для редактирования пользователю. Для каждого поля можно задать значение по-умолчанию. Для редактируемых пользователем полей задаётся либо маска регулярного выражения, либо набор возможных значений (либо ни то, ни другое – тогда пользователь сможет ввести всё, что угодно). Общий вид будущего назначения платежа показывается в нижней части окна. В нижней части списка полей назначения есть список заготовленных шаблонов полей, которые можно использовать и по аналогии с ними добавлять новые. Рекомендуется вводимые пользователем данные обрамлять какими-либо разделителями (например, квадратными скобками как в стандартных примерах), чтобы при необходимости упростить автоматическую выборку данных из назначения платежа. Обязательно указывать статус обложения НДСом в назначении платежа. Значение «[pv_descrip]» автоматически заменяется на описание операции из проводки. Экспорт каталога услуг в ИС РНиП происходит по нажатию кнопки Действия -> Экспорт каталога в ИС РНиП -> Новый (или изменённый). Первый раз необходимо выгружать пунктом меню «Новый», все последующие – пунктом меню «Изменённый». Начисления Работа с начислениями доступна в окне по пункту меню Обмен данными -> Экспорт начислений в РНиП. Права на вызов этого окна в Сисадмине выдаются галочкой «Обмен данными -> Экспорт начислений в РНиП». Кнопка «Отправить» отправляет новое или изменённое начисление в ИС РНиП. Кнопка «Отозвать» отмечает выбранное начисление в ИС РНиП как неактуальное. Кнопка «Добавить» создаёт новое начисление. Кнопка «Изменить» изменяет существующее начисление. Кнопка «Запросить статусы» запрашивает в ИС РНиП статус оплаты данного начисления. Кнопка «История» открывает историю обмена пакетами с ИС РНиП по данному начислению. Для использования должны быть права на окно обмена данными и на соответствующий источник данных. В окне редактирования начисления можно указать тип услуги, контрагента, дату и сумму начисления. Для идентификации плательщика используются параметра ИНН+КПП для организаций и номер паспорта для физлиц. Соответственно, следует заполнять эти параметры для контрагентов, на которых создаются начисления, т.к. без них выгрузка начисления будет невозможна. Ведутся работы над расширением списка возможных идентификаторов плательщиков, однако пока доступны только перечисленные. Низкоуровневая информация обмена с ИС РНиП Каждый пакет обмена с ИС РНиП сохраняется в БД в виде файла. Просмотреть эти данные можно через пункт меню Обмен данными - > Сервис обмена с ИС РниП -> Передача. По типу файлов можно отфильтровать запросы экспорта каталога, экспорта начисления и получения информации об оплате начисления. В действиях доступны: Просмотр – просмотр пакета данных, сформированного «Бухгалтерией». Просмотр подписанного содержимого – просмотр отправленного в ИС РНиП пакета данных. Просмотр ответа – просмотр возвращённого ИС РНиП ответа. Диагностика ошибок Ошибки могут возникнуть на следующих этапах: Подгрузка библиотеки b21rnip.dll. Если выдаётся сообщение о невозможности загрузить эту библиотеку, вероятнее всего отсутствует либо она сама, либо .NET 4.0, либо FirebirdSql.Data.FirebirdClient.dll, идущая в комплекте. Ошибка библиотеки b21rnip.dll. В этом случае выдаётся сообщение с кодом ошибки. В случае, если выдаётся код ошибки 100500 (неизвестная ошибка), дополнительная информация об ошибке может быть найдена в файле rnip.log рядом с b21rnip.dll. Ошибка сервиса ИС РНиП. В этом случае будет выдано сообщение об ошибке сервиса ИС РНиП с кодом и описанием ошибки. Дополнительная информация об ошибке может быть получена при просмотре ответа на соответствующий запрос в ИС РНиП в «Обмене данными».