26 #elif defined(_MSC_VER) 46 for (i = 0; i < HASHLEN; i++)
48 j = (Bin[i] >> 4) & 0xf;
55 Hex[i*2] = (j +
'a' - 10);
60 Hex[i*2+1] = (j +
'0');
64 Hex[i*2+1] = (j +
'a' - 10);
67 Hex[HASHHEXLEN] =
'\0';
79 OUT HASHHEX SessionKey
87 md_ctx_update(md5_ctx, (
const uint8_t *) pszUserName, strlen(pszUserName));
89 md_ctx_update(md5_ctx, (
const uint8_t *) pszRealm, strlen(pszRealm));
91 md_ctx_update(md5_ctx, (
const uint8_t *) pszPassword, strlen(pszPassword));
93 if (pszAlg &&
strcasecmp(pszAlg,
"md5-sess") == 0)
98 md_ctx_update(md5_ctx, (
const uint8_t *) pszNonce, strlen(pszNonce));
100 md_ctx_update(md5_ctx, (
const uint8_t *) pszCNonce, strlen(pszCNonce));
113 IN
char *pszNonceCount,
117 IN
char *pszDigestUri,
131 md_ctx_update(md5_ctx, (
const uint8_t *) pszMethod, strlen(pszMethod));
133 md_ctx_update(md5_ctx, (
const uint8_t *) pszDigestUri, strlen(pszDigestUri));
146 md_ctx_update(md5_ctx, (
const uint8_t *) pszNonce, strlen(pszNonce));
150 md_ctx_update(md5_ctx, (
const uint8_t *) pszNonceCount, strlen(pszNonceCount));
152 md_ctx_update(md5_ctx, (
const uint8_t *) pszCNonce, strlen(pszCNonce));
154 md_ctx_update(md5_ctx, (
const uint8_t *) pszQop, strlen(pszQop));
161 CvtHex(RespHash, Response);
md_ctx_t * md_ctx_new(void)
void md_ctx_free(md_ctx_t *ctx)
void md_ctx_final(md_ctx_t *ctx, uint8_t *dst)
void md_ctx_update(md_ctx_t *ctx, const uint8_t *src, int src_len)
mbedtls_md_info_t md_kt_t
Generic message digest key type context.
void DigestCalcHA1(IN char *pszAlg, IN char *pszUserName, IN char *pszRealm, IN char *pszPassword, IN char *pszNonce, IN char *pszCNonce, OUT HASHHEX SessionKey)
const md_kt_t * md_kt_get(const char *digest)
Return message digest parameters, based on the given digest name.
static void CvtHex(IN HASH Bin, OUT HASHHEX Hex)
void md_ctx_cleanup(md_ctx_t *ctx)
void md_ctx_init(md_ctx_t *ctx, const md_kt_t *kt)
void DigestCalcResponse(IN HASHHEX HA1, IN char *pszNonce, IN char *pszNonceCount, IN char *pszCNonce, IN char *pszQop, IN char *pszMethod, IN char *pszDigestUri, IN HASHHEX HEntity, OUT HASHHEX Response)
mbedtls_md_context_t md_ctx_t
Generic message digest context.