Похоже, что имя хоста сертификата iothub не проверяется при подключении к нему.Итак, я хочу убедиться, что мы подключены к концентратору, к которому подключаемся.Вопрос в том, может ли это быть сделано автоматически с помощью SDK?Есть ли примеры, как это сделать?Или, если нет, как я могу интегрировать проверку имени хоста библиотеки openssl?
В SDK есть следующая функция:
x509Certificate_getSubjectName()
, но из-за скимминга sdk она используется не очень часто.другой, чем в модульных тестах.
Я бы хотел включить проверку имени хоста в Azure SDK (C), аналогично тому, как это делается с помощью библиотеки ssl, например:
...
SSL_set_hostflags(ssl, X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS);
if (!SSL_set1_host(ssl, "www.example.com")) {
/* handle error */
}
/* Enable peer verification (with a non-null callback if desired) */
SSL_set_verify(ssl, SSL_VERIFY_PEER, NULL);
...
/*
* Establish SSL connection, hostname should be checked
* automatically test with a hostname that should not match,
* the connection will fail (unless you specify a callback
* that returns despite the verification failure. In that
* case SSL_get_verify_status() can expose the problem after
* connection completion.
*/