Почему openssl предоставляет два одинаковых / дублированных набора API: SSL_ * и SSL_CTX_ * - PullRequest
1 голос
/ 25 апреля 2019

Я искал в Google и Bing, openssl faq, некоторые справочные страницы по API, подсказки не найдены.

Это историческая проблема или продуманный дизайн?

1 Ответ

1 голос
/ 25 апреля 2019

Думайте о SSL_CTX как о фабрике для создания объектов SSL. Соединения SSL обрабатываются только объектами SSL. Однако они могут иметь много настроек. Вместо того, чтобы дублировать это каждый раз, когда вам нужен новый объект SSL, вы создаете SSL_CTX со всеми настройками в нем, а затем вы можете создать столько объектов SSL, сколько вам нужно, с этими настройками уже там. Разумеется, вы можете по-прежнему устанавливать настройки на уровне отдельных объектов SSL, если хотите.

...