В чем разница между set_client_CA_list_from_file() от M2Crypto и load_verify_info() и когда бы вы использовали каждый из них?

StackOverflow https://stackoverflow.com/questions/1848160

  •  13-09-2019
  •  | 
  •  

Вопрос

Тот самый Библиотека M2Crypto имеет несколько функций, связанных с центром сертификации, на своем SSL.Контекстный объект, но в документации очень неясно, когда вы будете использовать определенные функции и почему.Фактически, документы почти для всех из них гласят: "Загрузить сертификаты CA в контекст", поэтому представляется возможным, что все они делают одно и то же.

Есть такие несколько примеры которые используют и то, и другое set_client_CA_list_from_file() и load_verify_info(), но есть и другие подобные функции , такие как load_client_ca() и load_verify_locations().

Я пишу как клиентскую, так и серверную части.Какие функции я должен использовать и почему?Что конкретно они делают?

Редактировать:

Просматривая код, я вижу:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

и

# Deprecated.
load_verify_info = load_verify_locations

Так что это немного помогает.Это сводит нас к двум функциям: set_client_CA_list_from_file() и load_verify_locations().Но я все еще не могу до конца уловить разницу между ними.

Это было полезно?

Решение

Если ваш сервер требует, чтобы клиент предоставил сертификат, он может ограничить, кто является действительными эмитентами клиентских сертификатов, указав эмитентов, вызывающих set_client_CA_list_from_file - Установить клиент_ка_лист_файла.На самом деле это довольно редкая вещь.

Клиент указывает, кто является действительными эмитентами сертификатов сервера, вызывая load_verify_locations загружаемые проверяемые местоположения.Почти все клиенты должны это делать.

Как клиент, так и сервер могут вызывать load_cert загружение_серть установить свой собственный сертификат.Серверы должны почти всегда это делать.Клиенты, вероятно, должны делать это только в том случае, если сервер требует, чтобы клиент предоставил сертификат.

Я рекомендую вам выбрать копию Сетевая безопасность с помощью OpenSSL Джон Виега, Мэтт Мессье и Правир Чандра, ISBN 059600270X, который должен прояснить эти вопросы более подробно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top