Lines Matching refs:ctx
43 isc_hmacmd5_init(isc_hmacmd5_t *ctx, const unsigned char *key,
49 memset(ctx->key, 0, sizeof(ctx->key));
50 if (len > sizeof(ctx->key)) {
54 isc_md5_final(&md5ctx, ctx->key);
56 memmove(ctx->key, key, len);
58 isc_md5_init(&ctx->md5ctx);
61 ipad[i] ^= ctx->key[i];
62 isc_md5_update(&ctx->md5ctx, ipad, sizeof(ipad));
66 isc_hmacmd5_invalidate(isc_hmacmd5_t *ctx) {
67 isc_md5_invalidate(&ctx->md5ctx);
68 memset(ctx->key, 0, sizeof(ctx->key));
76 isc_hmacmd5_update(isc_hmacmd5_t *ctx, const unsigned char *buf,
79 isc_md5_update(&ctx->md5ctx, buf, len);
86 isc_hmacmd5_sign(isc_hmacmd5_t *ctx, unsigned char *digest) {
90 isc_md5_final(&ctx->md5ctx, digest);
94 opad[i] ^= ctx->key[i];
96 isc_md5_init(&ctx->md5ctx);
97 isc_md5_update(&ctx->md5ctx, opad, sizeof(opad));
98 isc_md5_update(&ctx->md5ctx, digest, ISC_MD5_DIGESTLENGTH);
99 isc_md5_final(&ctx->md5ctx, digest);
100 isc_hmacmd5_invalidate(ctx);
108 isc_hmacmd5_verify(isc_hmacmd5_t *ctx, unsigned char *digest) {
109 return (isc_hmacmd5_verify2(ctx, digest, ISC_MD5_DIGESTLENGTH));
113 isc_hmacmd5_verify2(isc_hmacmd5_t *ctx, unsigned char *digest, size_t len) {
117 isc_hmacmd5_sign(ctx, newdigest);