Запрос curl с использованием.cer
Я новичок в ssl и openssl. Я пытаюсь сгенерировать запрос curl, используя файл.cer (без использования флагов -k или -insecure). После генерации файла.pem я попытался выполнить запрос POST следующим образом: curl --cacert certificate.pem -XPOST " https://server_ip:server_port?obj1=okay"
Когда я использую свой IP-адрес сервера, я получаю сообщение об ошибке: curl: (51) Невозможно безопасно установить связь с равноправным узлом: запрошенное доменное имя не соответствует сертификату сервера.
Если я использую localhost.localdomain вместо server_ip, запрос генерируется правильно.
Я понимаю, что SSL-сертификат может сертифицировать только одно имя хоста. Есть ли способ изменить имя хоста на IP-адрес сервера вместо localhost.localdomain?
Спасибо
1 ответ
Если я использую localhost.localdomain вместо server_ip, запрос генерируется правильно.
Вы должны получить доступ к хосту, используя имя хоста, для которого был выдан сертификат. Там действительно не так уж много обойти с помощью curl, кроме как использовать -insecure
как вы уже указали, вы не хотели делать.
Я понимаю, что SSL-сертификат может сертифицировать только одно имя хоста.
Большинство пользовательских агентов и почти все браузеры поддерживают альтернативные имена субъектов, что позволяет указывать многие из них. Браузеры обычно читают первые 100 SAN. Сети SAN могут даже поддерживать IP-адреса.
Есть ли способ изменить имя хоста на IP-адрес сервера вместо localhost.localdomain
Обычно это делается через DNS. Хотя, похоже, вы пытаетесь использовать обратную петлю, вы можете просто отредактировать файл HOSTS так, чтобы он содержал любое имя, которое вы хотите указать на адрес обратной петли.