in libs/signature/src/spas_client.c [107:135]
static int _load_credential(SPAS_CREDENTIAL *pcred, char *path) {
FILE *fp = NULL;
char buf[SPAS_MAX_KEY_LEN * 2];
if (pcred == NULL || path == NULL) {
return ERROR_INVALID_PARAM;
}
fp = fopen(path, "r");
if (fp == NULL) {
return ERROR_FILE_OPEN;
}
memset(pcred, 0, sizeof(SPAS_CREDENTIAL));
while (fgets(buf, sizeof(buf), fp)) {
_trim(buf);
int len = strlen(SPAS_ACCESS_KEY_TAG);
if (strncmp(buf, SPAS_ACCESS_KEY_TAG, len) == 0 && buf[len] == '=') {
strncpy(pcred->access_key, buf + len + 1, SPAS_MAX_KEY_LEN - 1);
} else {
len = strlen(SPAS_SECRET_KEY_TAG);
if (strncmp(buf, SPAS_SECRET_KEY_TAG, len) == 0 && buf[len] == '=') {
strncpy(pcred->secret_key, buf + len + 1, SPAS_MAX_KEY_LEN - 1);
}
}
}
fclose(fp);
if (strlen(pcred->access_key) == 0 || strlen(pcred->secret_key) == 0) {
return ERROR_MISSING_KEY;
}
return SPAS_NO_ERROR;
}