Я не могу заставить wget использовать клиентские сертификаты. В документации говорится об использовании флага --certificate.
Использование флага сертификата понятно, я установил его для использования PEM-версии сертификата клиента.
Но когда я подключаюсь, я получаю следующую ошибку:
HTTP request sent, awaiting response... Read error (error:14094410:SSL routines:
SSL3_READ_BYTES:sslv3 alert handshake failure; error:140940E5:SSL routines:SSL3_
READ_BYTES:ssl handshake failure) in headers.
Giving up.
Ошибка рукопожатия ssl означает, что клиент не предоставил правильный сертификат клиента. Еще клиентский сертификат, которым я пользуюсь, работает в браузере.
Примечание. Когда я отключаю аутентификацию клиента на сервере, wget может подключиться. Примечание: рекомендуется использовать curl, но я бы хотел избежать переключения.
ssl-certificate
wget
Барт Де Вос
источник
источник
Ответы:
Я учился неделю этому, наконец, с помощью, которую я получил с этой страницы.
Команда, которую я использовал для подключения:
источник
Вы уверены, что аутентификация сертификата клиента SSL работает на вашем сервере?
Я только что проверил, что я могу взять свой сертификат (в формате PKCS12), преобразовать его в файл сертификата и ключа в формате PEM и использовать его с wget просто отлично.
Я могу спровоцировать три условия ошибки, ни одно из которых не соответствует тому, о чем вы сообщаете:
Я использую nginx; Вы не упоминаете, что используете, поэтому я не уверен, что Apache выдаст те же ответы.
Я бы предложил взять ваш сертификат и ключ, объединить его в PKCS12 (или просто импортировать как PEM, если ваш браузер поддерживает формат) и убедиться, что все работает в первую очередь.
Если вы уже сделали это, возможно, вы можете попробовать с другой машины убедиться, что это не является чем-то странным с версией OpenSSL, которую вы используете.
Наконец, попробуйте использовать OpenSSL в режиме s_client:
И посмотри, все ли работает на этом уровне. Если это так, то что-то не так с wget, и вы можете пересобрать или переустановить его. Если нет, уровень вывода отладки может помочь вам определить проблему в большей степени, чем вывод отладки wget.
источник
Я успешно использовал wget, как это:
Обратите внимание
--private-key option
. retain.url имеет https: //bla.bla.blaОднако теперь он запрашивает у меня «Введите пароль PEM:».
Если я ввожу пароль, он работает хорошо, но кто-нибудь знает способ обойти подсказку?
источник
Возможно ли, wget подключается к порту 80? Эта ошибка очень похожа на ошибки, которые я получаю при тестировании, когда я случайно прослушал HTTP 80, а 443-wget пытался говорить по SSL и не получил требуемый ответ.
источник
Получите захват сети и загрузите его в Wireshark. Это должно дать вам более четкое представление о том, что происходит на уровне SSL / TLS.
источник
Были проблемы с SSLv3 в версиях вроде 0.9.8.
Попробуйте передать -no_ticket в openssl s_client или, если -ssl2 работает
источник