Чому wget не перевіряє сертифікати SSL?


19

У мене проблема з моєю установкою Fedora 8 . Здається, що wgetбільше не знає, як перевірити сертифікати SSL. Це дивно, тому що у мене є ще одна коробка Fedora 8 , яка, на мою думку, має таку ж конфігурацію, і вона працює!

Як я можу змусити його працювати без використання --no-check-certificateперемикача?

Це вибірковий вихід:

wget https://www.google.com
--2011-09-23 00:11:13--  https://www.google.com/
Resolving www.google.com... 74.125.230.146, 74.125.230.147, 74.125.230.148, ...
Connecting to www.google.com|74.125.230.146|:443... connected.
ERROR: cannot verify www.google.com's certificate, issued by `/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA':
  Unable to locally verify the issuer's authority.
To connect to www.google.com insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.

EDIT

У мене є цей файловий /etc/pki/tls/certs/ca-bundle.crtфайл, і коли я запускаю wgetз --ca-certificateперемикачем, що вказує на цей файл, все йде нормально. Де слід розмістити цей файл, щоб мені не потрібно було використовувати комутатор?

BTW: curlі linksпрацювати нормально, але lynxтакож скаржиться: "Помилка SSL: не в змозі отримати сертифікат місцевого емітента", тому це не лише wgetпитання ...


4
Чому у вас навіть встановлення Fedora 8?
Ігнасіо Васкес-Абрамс

1
Fedora 9, 10, 11, 12 і 13 вже навіть не підтримується.
ceejayoz

Я знаю, що давня ОС більше не підтримується, але сподіваюся, що це лише якась проблема конфігурації, яку може легко вирішити хтось досвідчений, тому мені не потрібно оновлювати всю систему.
томази

яку версію wget ви використовуєте?
SparX

GNU Wget 1.11.1 (модифікований Red Hat)
tomazy

Відповіді:


11

За замовчуванням wget перевірить наявність сертифікатів у шляху, визначеному у файлі openssl conf /etc/pki/tls/openssl.cnf (не впевнений, чи правильний шлях для fc8). Перевірте файл конфігурації openssl і переконайтеся, що шляхи правильні. Можливо, це Opensl, яке потрібно виправити.


Виникла проблема з openssl - у файлі / etc / pki / tls відсутній файл cert.pem. Спасибі
tomazy

5

Ваша система не довіряє ланцюгу підписів на серті Google.

Вони також не представляють повний ланцюжок сертифікатів, а лише сертифікат свого емітента; не на 100% до номіналу, але, безумовно, нічого, що не повинно заважати вам перевірити ланцюжок.

У вашій стародавній системі, ймовірно, є такий же древній набір довірених авторитетів кореневих сертифікатів.

Довіряйте правильному cert VeriSign ( тут ), і ви повинні бути хорошими.


Як саме я "довіряю" серту VeriSign?
tomazy

Напевно, потрібно поставити /etc/ssl/certs.
Шейн Мадден

Цей редактор не існував, але я створив його і скопіював файли cert - це не допомогло :(
tomazy

Тоді не знаєте, де в цій ОС знаходиться каталог сертифікатів. grepнавколо!
Шейн Медден

4

Вам потрібно зібрати список кореневих сертифікатів, яким ви хочете довіритись, і розповісти, wgetяк їх знайти, використовуючи або параметр, --ca-certificateабо --ca-directoryпараметр. Ви можете вже мати його, /etc/pki/tls/certsякщо у вас встановлений відповідний пакет.


3

У мене виникли проблеми з тим, що wget не знайшов своїх сертифікатів, тому я встановив ca-сертифікати

sudo apt install ca-certificates

потім я відредагував:

sudo vi /etc/wgetrc

і додав

ca_directory=/etc/ssl/certs

або ви можете просто скористатися цією командою, щоб додати її до кінця:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc

альтернативно, це працювало для мене, якщо я використовував, wget https://myurl --ca-directory=/etc/ssl/certs/але я не хочу вводити це кожен раз, бо ніхто не мав часу на це ;-)
Джаред
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.