- rc = make_authobj(id, pass, nonce, secret, sizeof(secret),
- payload, strlen((char *)payload),
- authobj, &authsize);
- printf("make_authobj() rc=%d size=%d\n", rc, authsize);
- if (rc) return rc;
-
- rc = make_challenge(id, pass, nonce, challenge, &challengesize);
- printf("make_challenge() rc=%d size=%d\n", rc, challengesize);
- if (rc) return rc;
- rc = hmac(secret, sizeof(secret), challenge, challengesize,
- &key, &keysize);
- printf("hmac(secret, challenge) rc=%d new_key_size=%d\n",
- rc, keysize);
- if (rc) return rc;
+ printf("using crypto %s\n", crypto_init(0));
+ ao = new_authobj(id, pass, nonce, secret, sizeof(secret),
+ payload, strlen((char *)payload));
+ printf("new_authobj err=%s\n", ao.err?ao.err:"<no error>");
+ printf("data(%d):", ao.datasize);
+ for (i = 0; i < ao.datasize; i++) printf(" %02x", ao.data[i]);
+ printf("\npayload(%d): \"%.*s\"\n", ao.paylsize, ao.paylsize,
+ ao.payload?(char*)ao.payload:"");
+ if (ao.err) {
+ if (ao.buffer) free(ao.buffer);
+ return 1;
+ }