Настройка рабочего места
Для настройки интеграции 1с с сервисом ГИИС ДМДК, потребуется:
1. Скачать программу с официального сайта КриптоПро для создания TLS-туннеля stunnel.x86/64. Символы 86/64 обозначают разрядность вашей операционной системы, т.е. она или 32 битная или 64 битная.Как узнать разрядность читайте в этой статье.
Обратите внимание, stunnel.x86 — будет работать и на 32 битной и на 64 битной ОС. stunnel.x64 — только на 64 битных системах.
2. Создайте папку на диске C:\ под названием stunnel и скопируйте туда скачанный файл stunnel.x86.exe или stunnel.x64.exe.
3. Запустите командную строку от имени администратора и перейдите в каталог stunnel, выполнив команду cd c:\stunnel.
4. Введите команду установки службы туннеля: c:\stunnel\stunnel.x64 -install для 64 биных ОС, или c:\stunnel\stunnel.x86 -install для 32 битных систем.
5. В каталоге c:\windows\system32 создайте или скачайте и скопируйте файл конфигурации stunnel.conf с содержимым:
output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
client=yes
accept=127.0.0.1:1500
connect=195.209.130.9:443
cert=c:\stunnel\clicer.cer
verify=0
Вместо порта 1500, можно использовать любой другой свободный порт. В параметре connect — указывается IP адрес интеграционного сервиса, где:
- 195.209.130.9 — для промышленного контура;
- 195.209.130.19 — для тестового контура.
- Скачать: http://testca2012.cryptopro.ru/cert/rootca.cer и установить корневой сертификат тестового Удостоверяющего центра в хранилище «Доверенные корневые центры сертификации»;
-
Скачать: https://testgost2012.cryptopro.ru/certsrv/certnew.cer?ReqID=CACert&Renewal=1&Enc=bin и установить корневой сертификат Удостоверяющего центра вхранилище «Доверенные корневые центры сертификации»;
-
Скачать: http://testca2012.cryptopro.ru/cert/subca.cer промежуточный сертификат тестового Удостоверяющего центра в хранилище «Промежуточные центры сертификации».
7. Создайте нового пользователя Windows.
8. В сеансе нового пользователя установите (пользовательский) сертификат, выпущенный на информационную систему Участника, в хранилище «Личное».
9. Откройте КриптоПро CSP, выберите вкладку «Сервис», нажмите кнопку «Протестировать», далее кнопку «По сертификату» и выберите личный сертификат. В открывшемся окне введите текущий пароль, обязательно поставив галочку «Сохранить пароль в системе» и нажмите «OK».
10. Откройте диспетчер сертификатов, выполнив команду certmgr.msc. Найдите и откройте личный сертификат, выберите вкладку «Состав», и нажмите кнопку «Копировать в файл». В открывшемся Мастере экспорта, необходимо экспортировать сертификат без закрытого ключа в формате Х.509 (.CER) в кодировке DER и сохранить его с именем clicer.cer в каталоге c:\stunnel.
11. Откройте Службы, выполнив команду services.msc. Выберите службу Stunnel Service и установите для неё тип запуска «Автоматически», на вкладке вход в систему с учетной записью созданного пользователя и запустите службу.
На этом настройка завершена, что бы проверить настройку интеграционного сервиса, перейдите в браузере по адресу: 127.0.0.1:1500 и если все настроено правильно, появится логотип ГИИС ДМДК.
Спасибо за помощь! Быстро и качественно решили мою проблему с интеграцией! Сами мучались 4 дня не могли настроить интеграцию с подписью ФНС. Обратились к Михаилу, он решил вопрос буквально за 15 минут. По любым вопросам всегда отвечает максимально быстро и даже после оплаты, любые вопросы решаются без проблем в кратчайшие сроки. С уважением, Кострома!(думаю поймете :))
Спасибо за отзыв, был рад помочь!
Михаил настроил нам интеграцию в кратчайшие сроки после того как с ним связались. Буду рекомендовать друзьям и знакомым. Спасибо еще раз, с уважением, Николай(Москва).
Спасибо за отзыв, был рад помочь!
Михаил, спасибо за оперативное решение проблемы с настройкой интеграции! Сами мы так и не смогли справиться с настройкой stunnel и подписью от ФНС, а Вы решили нашу проблему в кратчайшие сроки. С уважением, Алексей (Приволжск). Буду обращаться еще и рекомендовать друзьям и знакомым!
Алексей, спасибо за отзыв! Рад был Вам помочь с решением проблемы!
А не подкинете конфиг, чтобы оба сервера сразу можно было использовать ? И боевой и тестовый
Добрый день! сlicer и clicer2 это один и тот же сертификат, только под разным названием. При использовании тестового сервера придется заменять порт на 1502.
output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https_real]
client=yes
accept=127.0.0.1:1501
connect=195.209.130.9:443
cert=c:\stunnel\clicer.cer
verify=0
[https_test]
client=yes
accept=127.0.0.1:1502
connect=195.209.130.19:443
cert=c:\stunnel\clicer2.cer
verify=0
Добрый день. А данный конфиг с двумя сертификатами можно использовать в том случае, если нужно на одном сервере настроить подключение к ГИИС ДМДК для двух разных организаций?
Здравствуйте! Да конечно, только для обоих организаций прописать рабочий а не тестовый сервер connect=195.209.130.9:443. Все остальное без изменений.
Добрый день! Спасибо за конфиг. Удалось таки образом на одном сервере поднять 5 туннелей. Единственно, что указывал просто [https]. И править только блокнотом с запуском от админа. Никаких файловых менеджеров!
Кто подскажет как выйти на Михаила по решению проблемы с интеграцией
Здравствуйте! Я Вам ответил на почту, можете связаться со мной через телеграм https://t.me/mk010101
Благодарю Михаила за быстрое реагирование и решение наших проблем с интеграцией! Все было сделано быстро и качественно. Будем рекомендовать другим и пользоваться услугами по настройке сами. Огромное спасибо еще раз(Питер)!
Добрый день
Скопировали подпись ФНС на флешку, службу stunnel запустилось
Но вот в 1с выдает ошибку:
Проверка подключения не пройдена по причине:
Ошибка при выполнении POST-запроса по адресу /ws/v2
Запрос не отправлен.
Внутренняя ошибка ГИИС ДМДК:
cert service error : error.CertificateNotFoundError
Добрый вечер! Если указан тестовый сервер, попробуйте указать рабочий и проверить интеграцию. Возможно проблема в этом.
файл conf (вроде не тестовый сервер)
output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
client=yes
accept=127.0.0.1:1500
connect=195.209.130.9:443
cert=C:\stunnel\clicer.cer
verify=0
Так сложно сказать. Попробуйте в браузере перейти по адресу 127.0.0.1:1500 и посмотрите последние записи в логе туннеля, какую ошибку фиксирует? И в браузере лого гиис дмдк не появляется?
подскажите другой вопрос
для подписей ФНС не получается сделать 9 пункт из вашей инструкции
9. Откройте КриптоПро CSP, выберите вкладку «Сервис», нажмите кнопку «Протестировать», далее кнопку «По сертификату» и выберите личный сертификат. В открывшемся окне введите текущий пароль, обязательно поставив галочку «Сохранить пароль в системе» и нажмите «OK».
После нажатия кнопки по сертификату появляется окно выбора сертификата и все после этого никакого окна ввода пароля не появляется.
Если не запрашивает пароль, значит у вас подпись скорее всего без пароля. Так тоже делают.
Подпись 100% c паролем (12345678), вопрос можно ли настроить stunnel не сбрасывая пароль с ЭЦП?
В криптопро на вкладке «сервис» внизу есть кнопка «удалить запомненные пароли». Но учтите, когда удалите запомненные пароли от всех подписей. И при использовании их придётся ввести заново. Пароль на подпись менять не требуется.
Добрый день при интеграции ГИИС ДМДК с 1С когда проводишь проверку происходит ошибка Проверка подключения не пройдена по причине:
Ошибка при выполнении POST-запроса по адресу /ws/v2
Запрос не отправлен.
Внутренняя ошибка ГИИС ДМДК:
cert service error : error.CertificateNotFoundError
Здравствуйте! Проверьте к какому серверу подключаетесь через stunnel, к боевому или тестовому? А также проверьте конфигурацию 1с на наличие обновлений, версия обмена 2 в гиис уже устарела и используется версия 3. Либо в настройках интеграции поменяйте на 3 версию и проверьте соединение. Если не получится, можете обратиться ко мне в телеграм, постараюсь решить вашу проблему.
Добрый день.
Аналогичная проблема возникла после обновления сертификата.
ошибка при выполнении запроса post по адресу /ws/v3
Внутренняя ошибка ГИИС ДМДК — без расшифровки ошибки.
В логах туннеля ошибок нет.
В браузере лого гиис дмдк появляется.
Здравствуйте! Конфигурацию давно обновляли? Возможно произошли изменения в обмене с ГИИС. Попробуйте обновить конфигурацию и проверить соединение, если не поможет, напишите в телеграм, посмотрим. Не забудьте сделать резервную копию перед обновлением.
Проблема решилась установкой списка отозванных сертификатов (сертификаты — просмотр — состав — точки распределения списка отзыва — копируете длинный URL — в моём случае это http://pki.tax.gov.ru/cdp/fcb21945f2bb7670b371b03cee94381d4f975cd5.crl
Правая кнопка — установить… И вуаля…
Хорошо что смогли решить проблему. Но странно, что у вас появлялся логотип ГИИСа и не было ошибок при отсутствии отозванных сертификатов.
Рано обрадовался. У меня на одном сервере поднято 5 тунелей на разных портах (1500-1505). Сегодня через сайт налоговой обновил еще один сертификат по ООО. Старый отозвал. Остановил службу.
Установил для себя новый сертификат в личные сертификаты. Добавил сертификат в 1С, отправил заявление на смену сертификата в 1С отчетность.
Обновил открытый ключ. Запускаю службу. Логотип ГИИСа появляется. Но при проверке подключения — опять та же ошибка. В этот раз установка списка отозванных сертификата не помогает. Конфигурация обновлялась в прошлое воскресенье.
Проверьте на всех ли пяти портах открывается логотип ГИИСа? Может у вас работает только часть сертификатов и этот момент вводит вас в заблуждение. Проверьте адрес и порты в 1с верно ли они указаны? Если по всем портам открывается логотип, проверяйте брандмауэр или антивирус. Аваст например любит сканировать и резать https трафик.
Во всех 5 ЕПС-ках, кроме последнего сертификата, тестирование подключения проходит успешно. На всех портах отображается логотип ГИИС ДМДК.
Копаю дальше. Продлял сертификат сегодня самостоятельно через личный кабинет ЮЛ. По идее старый сертификат должны были отозвать. Проверил на ресурсе https://www.gosuslugi.ru/pgu/eds
Старый сертификат оказался действительным и под ним со старым открытым ключом проверка подключения проходит….
Сегодня уже старый сертификат оказался аннулирован, но в ЕПС проверка подключения с новым так и не проходит, несмотря на загрузку свежего списка отзыва сертификатов. На порт заходит, логотип ГИИС ДМДК появляется.
Доброе утро! Попробуйте проверить связь программой soapui, связь проходит? Если нет, отключите службу туннеля, удалите логи. Затем запустите службу попробуйте перейти в браузере на 127.0.0.1:ваш порт и покажите лог. Потом так же остановите службу, удалите лог и попробуйте проверить связь через 1с, покажите лог.
Лог soapui
HTTP/1.1 200 OK
Server=Continent TLS
Date=Wed, 12 Jul 2023 05:49:07 GMT
Content-Type=text/html; charset=UTF-8
Content-Length=207212
Connection=keep-alive
Vary=Origin
Vary=Access-Control-Request-Method
Vary=Access-Control-Request-Headers
Content-Language=ru-RU
Last-Modified=Tue, 04 Jul 2023 18:52:39 GMT
Accept-Ranges=bytes
X-Content-Type-Options=nosniff
X-XSS-Protection=1; mode=block
Cache-Control=no-cache, no-store, max-age=0, must-revalidate
Pragma=no-cache
Expires=0
Referrer-Policy=strict-origin-when-cross-origin
Vary=Accept-Encoding, User-Agent
<svg width="448" height="108" viewBox="0 0 448 108"
Логи самого туннеля ще скиньте посмотреть, на момент обращения 1с к туннелю.
Лог туннеля
2023.07.12 12:14:09 LOG5[17024:6808]: stunnel 4.18 on x86-pc-unknown
2023.07.12 12:14:09 LOG5[17024:6808]: Threading:WIN32 Sockets:SELECT,IPv6
2023.07.12 12:14:09 LOG5[17024:6808]: No limit detected for the number of clients
2023.07.12 12:14:09 LOG7[17024:6808]: FD 276 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1500
2023.07.12 12:14:09 LOG7[17024:6808]: FD 280 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1501
2023.07.12 12:14:09 LOG7[17024:6808]: FD 284 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1502
2023.07.12 12:14:09 LOG7[17024:6808]: FD 288 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1503
2023.07.12 12:14:09 LOG7[17024:6808]: FD 292 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1504
2023.07.12 12:14:09 LOG7[17024:6808]: FD 296 in non-blocking mode
2023.07.12 12:14:09 LOG7[17024:6808]: SO_REUSEADDR option set on accept socket
2023.07.12 12:14:09 LOG7[17024:6808]: https bound to 127.0.0.1:1505
2023.07.12 12:14:18 LOG7[17024:6808]: https accepted FD=300 from 127.0.0.1:62206
2023.07.12 12:14:18 LOG7[17024:6808]: Creating a new thread
2023.07.12 12:14:18 LOG7[17024:6808]: New thread created
2023.07.12 12:14:18 LOG7[17024:14812]: client start
2023.07.12 12:14:18 LOG7[17024:14812]: https started
2023.07.12 12:14:18 LOG7[17024:14812]: FD 300 in non-blocking mode
2023.07.12 12:14:18 LOG7[17024:14812]: TCP_NODELAY option set on local socket
2023.07.12 12:14:18 LOG5[17024:14812]: https connected from 127.0.0.1:62206
2023.07.12 12:14:18 LOG7[17024:14812]: FD 368 in non-blocking mode
2023.07.12 12:14:18 LOG7[17024:14812]: https connecting
2023.07.12 12:14:18 LOG7[17024:14812]: connect_wait: waiting 10 seconds
2023.07.12 12:14:18 LOG7[17024:14812]: connect_wait: connected
2023.07.12 12:14:18 LOG7[17024:14812]: Remote FD=368 initialized
2023.07.12 12:14:18 LOG7[17024:14812]: TCP_NODELAY option set on remote socket
2023.07.12 12:14:18 LOG7[17024:14812]: start SSPI connect
2023.07.12 12:14:18 LOG5[17024:14812]: try to read the client certificate
2023.07.12 12:14:18 LOG7[17024:14812]: open file c:\stunnel\clicer.cer with certificate
2023.07.12 12:14:19 LOG3[17024:14812]: Credentials complete
2023.07.12 12:14:19 LOG7[17024:14812]: 89 bytes of handshake data sent
2023.07.12 12:14:19 LOG5[17024:14812]: 3710 bytes of handshake(in handshake loop) data received.
2023.07.12 12:14:19 LOG5[17024:14812]: 4621 bytes of handshake data sent
2023.07.12 12:14:19 LOG5[17024:14812]: 31 bytes of handshake(in handshake loop) data received.
2023.07.12 12:14:19 LOG5[17024:14812]: Handshake was successful
2023.07.12 12:14:19 LOG5[17024:14812]: PerformClientHandshake finish
2023.07.12 12:14:19 LOG5[17024:14812]: Verify_level = 0, skipping Server certificate verification
2023.07.12 12:14:19 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:19 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2023.07.12 12:14:19 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:19 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = -1 ((sock_rd && ssl_rd)=1) c->ssl_ptr = 0 c->sock_ptr=0
2023.07.12 12:14:19 LOG7[17024:14812]: data reciev from socket = 5608
2023.07.12 12:14:19 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:19 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=5608,want_rd = 0
2023.07.12 12:14:19 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:19 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = -1 ((sock_rd && ssl_rd)=1) c->ssl_ptr = 0 c->sock_ptr=15e8
2023.07.12 12:14:19 LOG5[17024:14812]: SSPI_write start
2023.07.12 12:14:19 LOG7[17024:14812]: SSPI_write data is POST
2023.07.12 12:14:19 LOG7[17024:14812]: send all data after encrypt
2023.07.12 12:14:19 LOG7[17024:14812]: data send to ssl_socket =5608
2023.07.12 12:14:19 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:19 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2023.07.12 12:14:19 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:19 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = -1 ((sock_rd && ssl_rd)=1) c->ssl_ptr = 0 c->sock_ptr=0
2023.07.12 12:14:23 LOG7[17024:14812]: SSPI_read start
2023.07.12 12:14:23 LOG7[17024:14812]: recv ok on SSPI_read err= 1041
2023.07.12 12:14:23 LOG5[17024:14812]: Received 1041 bytes from ssl socket
2023.07.12 12:14:23 LOG7[17024:14812]: SSPI_read data in ssl_buff is HTTP
2023.07.12 12:14:23 LOG7[17024:14812]: data read from ssl_sock =1032
2023.07.12 12:14:23 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:23 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 1032,c->sock_ptr=0,want_rd = 0
2023.07.12 12:14:23 LOG7[17024:14812]: add write socket to poll
2023.07.12 12:14:23 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:23 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = -1 ((sock_rd && ssl_rd)=1) c->ssl_ptr = 408 c->sock_ptr=0
2023.07.12 12:14:23 LOG7[17024:14812]: data send to socket = 1032
2023.07.12 12:14:23 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:23 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2023.07.12 12:14:23 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:23 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = -1 ((sock_rd && ssl_rd)=1) c->ssl_ptr = 0 c->sock_ptr=0
2023.07.12 12:14:23 LOG7[17024:14812]: Socket closed on read
2023.07.12 12:14:23 LOG7[17024:14812]: SSL write shutdown
2023.07.12 12:14:23 LOG7[17024:14812]: add ssl read socket to pool
2023.07.12 12:14:23 LOG7[17024:14812]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2023.07.12 12:14:23 LOG7[17024:14812]: Enter pool section on transfer
2023.07.12 12:14:23 LOG7[17024:14812]: !!!!!Call s_poll_wait with timeout = 60 ((sock_rd && ssl_rd)=0) c->ssl_ptr = 0 c->sock_ptr=0
2023.07.12 12:14:23 LOG5[17024:14812]: 11 bytes of close_notify data sent
2023.07.12 12:14:23 LOG6[17024:14812]: SSL_shutdown successfully sent close_notify
2023.07.12 12:14:23 LOG7[17024:14812]: Socket write shutdown
2023.07.12 12:14:23 LOG7[17024:14812]: c->ssl_ptr = 0
2023.07.12 12:14:23 LOG5[17024:14812]: Connection closed: 5608 bytes sent to SSL, 1032 bytes sent to socket
2023.07.12 12:14:23 LOG7[17024:14812]: free Buffers
2023.07.12 12:14:23 LOG7[17024:14812]: delete c->hContext
2023.07.12 12:14:23 LOG7[17024:14812]: delete c->hClientCreds
2023.07.12 12:14:23 LOG5[17024:14812]: incomp_mess = 1, extra_data = 0
2023.07.12 12:14:23 LOG7[17024:14812]: https finished (0 left)
Ошибок в журнале не вижу. Как вариант попробовать установить последнюю версию стуннеля, у вас 4.18, актуальная 5.0(тормознуть службу и подложить новый файл, если не поможет откатить обратно). И соответственно криптопро если установлена 4 версии, поднять до 5. Если не поможет, надо смотреть, так сложно гадать не видя всей картины.
Разобрались. Бухгалтер — очумелые ручки — полезла в личный кабинет ГИИС ДМДК и там в транспортном модуле сгенерировала какой-то ключ, который ждал подтверждения… Модуль убил и всё заработало…
Огромное спасибо за помощь! Побольше бы таких людей как Вы!!!
Рад, что у вас все получилось!
Обновил 3-ий сертификат на третьем туннеле — прошло как по маслу! 🙂
Это прекрасно, рад что у вас все получилось!
Добрый день. Обновил 4-ый сертификат — и вновь заработало только после загрузки списка отозванных сертификатов…
Здравствуйте! Вроде все делал правильно.
При соединении с 1С выдает следующее:
Проверка подключения не пройдена по причине:
Не удалось установить HTTP-соединение с сервером 127.0.0.1:1701
по причине:
Ошибка работы с Интернет: Failure when receiving data from the peer
Результат диагностики:
При обращении по URL: http://127.0.0.1:1701/ws/v3
Подключение проводится на компьютере (клиенте) .
Выполнено обращение к несуществующему ресурсу на сервере 127.0.0.1
или возникли неполадки на удаленном сервере.
Здравствуйте! возможно установили не все сертификаты или что-то упустили. Так сложно сказать, надо смотреть. Напишите мне в телеграм, попробуем разобраться.