Автор: Александр Лавник Автор: killerwolf Добрый день, встала задача завернуть весь трафик между приложением на iOS и сервером в TLS тунель, зашифрованный по ГОСТу.
Если я правильно понял то в комплекте к CryptoProCSP 5.0 идет приложение iStunnel, которое умеет это делать.
Пример "немножко" от слова совсем, устарел. После адаптации примера под последний ios, удалось его запустить. Но Пока не понятно следующее -
Есть сервер который шифрует по ГОСТ если на него идти например через Хромиум гост или Спутник браузер. Если идти через обычный браузер то будет AES.
Хочу попробовать зайти на этот сервер через пример тот что iStunnel. Но пока только ошибка
client = yes
accept = 127.0.0.1:4444
connect =
https://moisite.ru:443
2020.02.25 17:24:20 LOG3[557:6162214912]: Error resolving 'https://moisite.ru': Neither nodename nor servname known (EAI_NONAME)
Cannot resolve 'https://moisite.ru:443' - delaying DNS lookup
2020-02-25 17:24:20.920954+0100 iStunnel[557:202607] [] nw_endpoint_create_with_peer_name getpeername failed [57: Socket is not connected]
Здравствуйте.
Попробуйте указать:
добрый день, теперь следующая ошибка
CertFindCertificateInStore
настройки на сервере делал по этой инструкции
https://www.cryptopro.ru...i_server_mac_os_x_sg.pdfсервер на макоси каталина.
Сервер макось ip:192.168.88.209
Клиент iPad ios 13.3 ip 192.168.88.237
конфиг на сервере:
pid=/Users/valter/Documents/stunnel.pid
output=/Users/valter/Documents/stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
Accept=192.168.88.209:1509
Connect=192.168.88.209:80
Cert=/Users/valter/Documents/RogueOne-local.crt
Verify=3
клиент запускаю на ios из примера iStunnelExample/
конфиг на клиенте:
pid = /var/mobile/Containers/Data/Application/02246208-F283-4417-AB93-0555D5D78BF8/Documents/cprocsp/tmp/stunnel.pid
output = /var/mobile/Containers/Data/Application/02246208-F283-4417-AB93-0555D5D78BF8/Documents/cprocsp/tmp/stunnel.log
socket = a:SO_REUSEADDR=1
foreground = yes
debug = 7
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
[test]
client = yes
accept = 127.0.0.1:1555
connect = 192.168.88.209:1509
p.s. клиент на win10 успешно удалось соеденить с этим сервером.
если нужно могу приложить захват с wireshark на сервере.
вот лог с сервера:
2020.03.03 14:17:08 LOG7[44743:4626931136]: https accepted FD=10 from 192.168.88.237:50729
2020.03.03 14:17:08 LOG7[44743:123145314844672]: client start
2020.03.03 14:17:08 LOG7[44743:123145314844672]: https started
2020.03.03 14:17:08 LOG7[44743:123145314844672]: FD 10 in non-blocking mode
2020.03.03 14:17:08 LOG7[44743:123145314844672]: TCP_NODELAY option set on local socket
2020.03.03 14:17:08 LOG5[44743:123145314844672]: https connected from 192.168.88.237:50729
2020.03.03 14:17:08 LOG7[44743:123145314844672]: accept_handshake start
2020.03.03 14:17:08 LOG7[44743:123145314844672]: SSPINegotiate start
2020.03.03 14:17:08 LOG7[44743:123145314844672]: reading in SSPINeg recv return = 143, errno=0
2020.03.03 14:17:08 LOG7[44743:123145314844672]: Recieve 143 bytes from client on SSPINegotiateLoop
2020.03.03 14:17:08 LOG7[44743:123145314844672]: AcceptSecurityContext finish, scRet = 590610
2020.03.03 14:17:08 LOG5[44743:123145314844672]: Send 3714 handshake bytes to client
2020.03.03 14:17:08 LOG7[44743:123145314844672]: reading in SSPINeg recv return = 236, errno=0
2020.03.03 14:17:08 LOG7[44743:123145314844672]: Recieve 236 bytes from client on SSPINegotiateLoop
2020.03.03 14:17:08 LOG7[44743:123145314844672]: AcceptSecurityContext finish, scRet = 0
2020.03.03 14:17:08 LOG3[44743:123145314844672]: Error 0x8009030e querying remote certificate
2020.03.03 14:17:08 LOG5[44743:123145314844672]: User not authorized for connect
2020.03.03 14:17:08 LOG5[44743:123145314844672]: 23 bytes of close_notify data sent
2020.03.03 14:17:08 LOG5[44743:123145314844672]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2020.03.03 14:17:08 LOG7[44743:123145314844672]: free Buffers
2020.03.03 14:17:08 LOG7[44743:123145314844672]: delete c->hContext
2020.03.03 14:17:08 LOG5[44743:123145314844672]: incomp_mess = 0, extra_data = 0
2020.03.03 14:17:08 LOG7[44743:123145314844672]: https finished (0 left)
Сертификат для сервера выпускаю здесь:
https://www.cryptopro.ru/certsrv/certrqma.aspСертификат на iOS устройстве выпускаю через криптопрошную панель CryptoPro Pane -> Взаимодействие с УЦ (Тип УЦ выбран по дефолту Криптопро УЦ 2.0) -> Установить корневой сертификат ->Зарегистрировать нового пользователя -> Отправить запрос на сертификт - Тестовый квалифицированный сертификат (тут я не уверен какой выбирать, потому как для клиента на винде я выбирал Сертификат проверки подленности клиента, а тут нет такого) - Получить и установить сертификат
Отредактировано пользователем 3 марта 2020 г. 16:37:40(UTC)
| Причина: Не указана