запуск Curl на эмуляторе Android - проблемы с: (1) не удалось разрешить хост и (2) рукопожатие SSL (ca-сертификаты.crt) - PullRequest
0 голосов
/ 31 марта 2020

Мне нужно запустить Curl как часть создаваемого мною приложения Android, чтобы загружать постоянно обновляемые файлы данных, необходимые для приложения. Я кросс-скомпилировал бинарный файл Curl в своей системе Debian, чтобы Curl работал на эмуляторе Google Pixel на базе x86_64, а также с использованием библиотек openssl. Сейчас я тестирую Curl на эмуляторе Pixel в Android Studio. Когда я запускаю команду curl в моей системе Debian, она работает отлично. Когда я запускаю ту же самую команду curl на моем эмуляторе, она терпит неудачу с сообщением «не удалось разрешить хост». Если выполнить «nslookup» для имени хоста, а затем использовать значение цифры c для сервера, оно все равно не будет выполнено. (обратите внимание, здесь: когда я использую значение цифры 10000 * имя хоста в моей системе Debian для запуска curl, я получаю: «curl: (51) SSL: никакое альтернативное имя субъекта сертификата не соответствует имени целевого хоста»). Другая проблема, с которой я столкнулся, связана с ca-certificate.crt. Когда я запускаю команду Curl в эмуляторе, она ищет файл ca-certificate.crt в / etc / ssl / certs. Поскольку этот файл не находится там в эмуляторе, я попробовал флаг --cacert /data/data/com.example.myapplication/ca-certificates.crt с помощью Curl, но опять-таки я получаю "curl: (60) SSL : альтернативное имя субъекта сертификата не соответствует целевому имени хоста ". Примечание. Файл ca-certificate.crt, с которым я тестирую Curl на эмуляторе Android, не входит в мою систему Debian (в / etc / ssl / certs). Я думаю, что это может быть неправильный файл ca-certificate.crt для использования, но в противном случае его не было на эмуляторе. Нужно ли создавать новый файл ca-Certificate.crt для использования на эмуляторе? Похоже, у меня есть много, чтобы узнать об использовании curl на эмуляторе, относительно (1) проблем с поиском имени хоста и (2) использования (создания?) Правильного файла ca-certificate.crt для SSL-квитирования. Любой совет приветствуется!

TIA, Стив

...