Закрепление сертификата SSL с помощью libcurl

Я хотел бы знать, достаточно ли этого примера для закрепления сертификата с помощью libcurl: http://curl.haxx.se/libcurl/c/cacertinmem.html

потому что я обнаружил, что curl также позволяет http://curl.haxx.se/libcurl/c/CURLOPT_PINNEDPUBLICKEY.html

Поскольку я буду использовать самозаверяющий сертификат и доверять ему только, я не знаю, действительно ли необходимо закреплять его.

резюме: Может ли соединение быть скомпрометировано, если я добавлю только свой сертификат (самоподписанный) в хранилище сертификатов x509, как в примере? мне нужно добавить дополнительные чеки? мне нужно использовать параметр CURLOPT_PINNEDPUBLICKEY?

Спасибо.


person SP Miguel Janer    schedule 27.11.2015    source источник


Ответы (1)


Другой пример можно найти в реализации новой опции curl в git 2.8 (март 2016 г.):

См. commit aeff8a6 (15 февраля 2016 г.) от Кристоф Эггер (siccegge).
(Объединено пользователем Junio ​​C Hamano - gitster - в фиксации e79112d, 24 февраля 2016 г.)

http: реализовать закрепление открытого ключа

Добавьте параметр конфигурации http.pinnedpubkey для закрепления открытого ключа. Он позволяет использовать любую строку, поддерживаемую libcurl - base64(sha256(pubkey)) или filename полного открытого ключа.

Если cURL не поддерживает закрепление (слишком старый), выведите предупреждение для пользователя.

git config справочная страница

http.pinnedpubkey:

Открытый ключ службы https.
Это может быть либо имя файла открытого ключа в кодировке PEM или DER, либо строка, начинающаяся с 'sha256//', за которой следует хэш открытого ключа sha256 в кодировке base64. См. Также libcurl 'CURLOPT_PINNEDPUBLICKEY'.
git завершит работу с ошибка, если этот параметр установлен, но не поддерживается cURL.

person VonC    schedule 25.02.2016