Curl: разница между 2 командами ssl

3

Я не могу сказать разницу или когда использовать один над другим. (Должно ли это быть на сервере?)

-E / - CERT

(SSL) Указывает curl использовать указанный файл сертификата при получении файла с HTTPS или FTPS. Сертификат должен быть в формате PEM. Если дополнительный пароль не указан, он будет запрошен на терминале. Обратите внимание, что эта опция предполагает наличие файла «сертификата», который является закрытым ключом и закрытым сертификатом! См. --Cert и --key, чтобы указать их независимо.

Если curl построен на основе библиотеки NSS SSL, этот параметр указывает curl псевдоним сертификата для использования в базе данных NSS, определенной переменной среды SSL_DIR (или по умолчанию / etc / pki / nssdb). Если модуль NSS PEM PKCS # 11 (libnsspem.so) доступен, то файлы PEM могут быть загружены.

Если эта опция используется несколько раз, будет использована последняя.

--cert типа

а также

--cacert

(SSL) Указывает curl использовать указанный файл сертификата для проверки однорангового узла. Файл может содержать несколько сертификатов CA. Сертификат (ы) должен быть в формате PEM. Обычно curl создается для использования файла по умолчанию, поэтому этот параметр обычно используется для изменения этого файла по умолчанию.

curl распознает переменную среды с именем «CURL_CA_BUNDLE», если она установлена, и использует данный путь в качестве пути к комплекту сертификатов CA. Эта опция переопределяет эту переменную.

Windows-версия curl будет автоматически искать файл сертификатов CA с именем «curl-ca-bundle.crt», либо в том же каталоге, что и curl.exe, либо в текущем рабочем каталоге, либо в любой папке в вашем PATH.

Если curl построен на основе библиотеки NSS SSL, этот параметр указывает curl псевдоним сертификата CA для использования в базе данных NSS, определенной переменной среды SSL_DIR (или по умолчанию / etc / pki / nssdb). Если модуль NSS PEM PKCS # 11 (libnsspem.so) доступен, то файлы PEM могут быть загружены.

Если эта опция используется несколько раз, будет использована последняя.


источник

Ответы:

3

-Eиспользуется для представления сертификата клиента на сервере. --cacertиспользуется для проверки сертификата сервера.

РЕДАКТИРОВАТЬ:

Сам SSL служит 3 целям:

  1. Зашифруйте соединение.
  2. Аутентифицировать сервер.
  3. (необязательно) Аутентифицировать клиента.

Большинство людей считают SSL только пунктом 1, хотя пункт 2 верен, если все на месте. Только когда есть какая-то проблема со свидетельством, люди активно рассматривают пункт 2. Почти никто не рассматривает пункт 3, поскольку он используется гораздо реже.

--cacertимеет дело с пунктом 2. -Eимеет дело с пунктом 3.

Игнасио Васкес-Абрамс
источник
Штопать! Ты избил меня на 30 секунд. Удалить свой ответ? Или просто позволить голосам позаботиться об этом?
Джед Дэниелс
1
Оставь это. (15 символов)
TheLQ
Таким образом, ваши серверы высказываний могут выдать ошибку, говоря, что я не аутентифицирован!?! не имел представления. И -Е мой сертификат в качестве клиента. Я понятия не имел, что это возможно, и текст на странице руководства не дал мне достаточно намека на то, что он делает. Вот это да.
Попробуйте войти здесь для примера: koji.fedoraproject.org/koji
Игнасио Васкес-Абрамс
2

-E/--Cert используется для аутентификации клиента (вас).

--cacert используется для того, чтобы сервер был тем, кем они себя называют.

Джед Дэниелс
источник