Мы пишем новое приложение сервер / клиент, и нам нужно проверить самозаверяющие сертификаты в OpenSSL 1.1.0, где поле CN не важно.
Я пытался сделать следующее, но это не так кажется, что эффект:
X509_VERIFY_PARAM *param = NULL;
param = SSL_get0_param(sslo.ssl);
X509_VERIFY_PARAM_set1_host(param, nullptr, 0);
Как я могу эффективно игнорировать все проверки этого поля?
Обновление после ответа Шейна:
I попытался установить verify_callback с SSL_CTX_set_verify. В обратном вызове я позвонил X509_STORE_CTX_get_error_depth. Получившийся код ошибки был X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, что в соответствии с документацией означает, что «переданный сертификат самоподписан, и тот же сертификат не может быть найден в списке доверенных сертификатов».
Эта ошибка очень общая c и не относящиеся конкретно к CN, если я только изменю поле CN в сертификате на соответствующее значение, этого не произойдет.