Настройте слабую проверку хоста на TLS-соединении на стороне сервера с помощью Apple Secure Transport

Я хочу написать сервер, который (исключительно для тестирования!!) позволяет клиенту соединяться с сертификатом, содержащим недопустимое имя хоста. Я использую безопасный транспортный API Apple в C на Mac OS X. Я установил соединение с сервером, как:

SSLContextRef ssl_ctx_ref = SSLCreateContext (kCFAllocatorDefault,
                                              kSSLServerSide,
                                              kSSLStreamType);

SSLSetClientSideAuthenticate (ssl_ctx_ref, kTryAuthenticate);

С этим на месте, если клиент представляет сертификат с неверным именем хоста, SSLHandshake завершается с ошибкой ercSSLClosedAbort (-9806).

Переходя kNeverAuthenticate вместо kTryAuthenticate разрешает недействительный сертификат клиента.

Вопросы:

  • Является SSLSetClientSideAuthenticate правильная функция для использования - для включения слабой проверки имени хоста для клиентских сертификатов?
  • Если так, то почему kTryAuthenticate сделать так, почему я должен использовать kNeverAuthenticate?

0 ответов

Другие вопросы по тегам