Автор: al1111 Подскажите пожалуйста аналогичная проблемма вот только у нас в сертификате
CN = ООО"Рога копыта"
Т.е. Кирилица, ковычки, пробел. В hosts для привязки у меня не получаеться это добавить
а с hostname dacha-ПК не отрабатывает
при этом 127.0.0.1 dacha-ПК в hosts добавил.
output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
client=yes
accept=dacha-ПК:1500
connect=195.209.130.19:443
cert=C:\stunnel\clicer.cer
verify=2
Как быть?
Что-то вы вообще странное творите: прочитайте еще раз внимательнее.
Цитата:Полное доменное имя (если неизвестно) можно взять из сертификата сервера.
1) Зачем Вы ориентируетесь на свой сертификат
клиента с CN = ООО"Рога копыта". Каким он боком относится к серверу? Аналогия - шли по улице, сертификат лежит и думаете "а не вписать ли его в конфиг"? Если точнее, то имеется ввиду сертификат
удаленного сервера, к которому соединяетесь stunnel ом, то есть сервера, указанного в строке connect. Имя не обязательно в CN, может быть в Альтернативных именах владельца.
Вот только в конфиге в строке connect написан IP адрес, а вам нужно найти имя этого сервера. Это можно сделать либо через DNS командой типа nslookup 19.130.209.195.in-addr.arpa (цифры из IP в обратном порядке) либо посмотрев сертификат, который при коннекте на 195.209.130.19:443 предоставляет сервер. В DNS ГИС частенько ничего не регистрируют (первая команда дает non-existent domain), потому проще смотреть сертификат. Сохранить сертификат удаленного сервера можно утилитой csptest в командной строке
Код:C:
cd "\Program Files\Crypto Pro\CSP"
csptest -tlsc -server 195.209.130.19 -user отпечаток_сертификата_без_пробелов -file /ws/v1/exchange.wsdl -verbose -nosave -nocheck -savecert d:\195_209_130_19.p7b
Здесь уже учтено: адрес сервера, адрес wsdl, wsdl не сохраняется, указан сертификат клиента, выводятся подробные данные, не проверяется цепочка сертификатов клиента и сервера, сертификат сервера сохраняется в файл d:\195_209_130_19.p7b. Цепочка сервера не проверяется, потому что, как оказалось, он выдан тестовым сервером КриптоПро, а добавлять тестовый УЦ в доверенные не очень разумно. Имя оказалось типа *.goznak.ru, то есть желательно вместо звездочки еще что-то подобрать. Для примера я возьму стандартное www, но возможно больше подойдет dmdk. Перед этим стоит еще 20211217 и пробел - такое имя проверку не пройдет. хотя возможно такой ответ на мой сертификат, а Вам ответит сервер что-то более квалифицированное.
2) 127.0.0.1 dacha-ПК тоже не вариант, удаленный сервер не знает про такое имя.
3) файл сертификата желателен в кодировке DER
4) при использовании stunnel-msspi можно вместо пути к сертификату указывать отпечаток (без пробелов). Также может потребоваться указать pin=пин_код
5) Насколько помню verify=2 требует дополнительных настроек (указание хранилища, в котором будут сертификаты УЦ для проверки сертификата сервера), сначала тестируйте с verify=0. Повторюсь, "добавлять тестовый УЦ в доверенные не очень разумно" и "перед *.goznak.ru стоит еще 20211217 и пробел - такое имя проверку не пройдет".
Исходя из этого, должно быть примерно так:
Код: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.19:443
cert=C:\stunnel\clicer.cer
verify=0
в hosts
в 1с/browser/soapui тестируете адрес
Код:http://www.goznak.ru:1500/ws/v1/exchange.wsdl
WSDL у меня браузер получил, значит имя
www.goznak.ru допустимо, но дальше нежданчик в WSDL:
Код:<soap:address location="http://www.goznak.ru:80/ws/v1"/>
То есть для корректной работы soapui stunnel должен слушать на 80 порту, а не на 1500.
Отредактировано пользователем 10 февраля 2022 г. 8:23:53(UTC)
| Причина: Не указана