- counter = 0 ;
- dtls_hmac_init(ctx, (const unsigned char *)passwd, pLen);
- while (counter != iterations)
- {
- if (counter == 0)
- {
- uint8_t intBuf[4] = {0x00, 0x00, 0x00, 0x00};
- dtls_hmac_update(ctx, salt, saltLen);
- GetBigEndianBuf(intBuf, i);
- dtls_hmac_update(ctx, intBuf, 4);
-
- int len = dtls_hmac_finalize(ctx, buf);
- if (DTLS_HMAC_DIGEST_SIZE != len)
- {
- OIC_LOG(ERROR, TAG, "DTLS HMAC is failed");
- res = -1;
- }
- memcpy(uBuf, buf, DTLS_HMAC_DIGEST_SIZE);
- }
- else
- {
- dtls_hmac_init(ctx, (const unsigned char *)passwd, pLen);
- dtls_hmac_update(ctx, buf, DTLS_HMAC_DIGEST_SIZE);
- int len = dtls_hmac_finalize(ctx, buf);
- if (DTLS_HMAC_DIGEST_SIZE != len)
- {
- OIC_LOG(ERROR, TAG, "DTLS HMAC is failed");
- res = -1;
- }
- XOR_BUF(buf, uBuf, DTLS_HMAC_DIGEST_SIZE);
- }
- counter++;
- }
-