IoT Hub SDK для C не предоставляет метод для этого. Он предоставляет служебные функции в x509_schannel.c . Вы можете использовать библиотеку OpenSSL, как показано в следующем коде.
Использовать OpenSSL:
static X509 *load_cert(const char *file)
{
X509 *x=NULL;
BIO *cert;
if ((cert=BIO_new(BIO_s_file())) == NULL)
goto end;
if (BIO_read_filename(cert,file) <= 0)
goto end;
x=PEM_read_bio_X509_AUX(cert,NULL, NULL, NULL);
end:
if (cert != NULL) BIO_free(cert);
return(x);
}
Кстати, вы можете скачать исходный код openssl и скомпилировать библиотеку для использования в проекте Azure iothub SDK.