Как создать токен SAS для безопасного подключения к концентратору Azure IOT в C - PullRequest
0 голосов
/ 29 октября 2019

довольно плохо знакомы с лазурью, может кто-нибудь помочь, руководствуясь тем, как создать токен SAS в c.

Я видел, что коды доступны в C # и Java, однако, не в c. SDK недоступен и должен использовать прямое соединение через MQTT.

Я нашел это в azure_shared_uitility

sas_key_name = STRING_construct(EH_KEY_NAME);

 /* Construct a SAS token */
sas_key_name = STRING_construct(EH_KEY_NAME);

/* unfortunately SASToken wants an encoded key - this should be fixed at a later time */
buffer = BUFFER_create((unsigned char*) EH_KEY, strlen(EH_KEY));
sas_key_value = Base64_Encoder(buffer);
BUFFER_delete(buffer);
resource_uri = STRING_construct(
        "sb://" EH_HOST "/" EH_NAME "/publishers/" EH_PUBLISHER);
encoded_resource_uri = URL_EncodeString(STRING_c_str(resource_uri));
time_t currentTime = time(NULL);
size_t expiry_time = (size_t)(difftime(currentTime, 0) + 3600);
sas_token = SASToken_Create(sas_key_value, encoded_resource_uri, sas_key_name, expiry_time);

, однако вывод не в правильном формате: SharedAccessSignature sig = {signature-string} & se = {expiry} & skn = {policyName} & sr = {URL-encoded-resourceURI}

t? z / s =? SzUxZmRJMTZPd3RPdzBLeUN2c3hwcHlXNHZ3SVJzWGlhOX * * 0 * * 00 *000 * * 00 *000 * * 00 *000 * * 00 * * 00 * 00 * 00 * 00 * .00 * .00 * 00 * 00 * 00 * 00 * 00. 1012 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...