diff --git a/lib/gssapi/ntlm/accept_sec_context.c b/lib/gssapi/ntlm/accept_sec_context.c index 9ef3ea1f7..51c5f8102 100644 --- a/lib/gssapi/ntlm/accept_sec_context.c +++ b/lib/gssapi/ntlm/accept_sec_context.c @@ -198,17 +198,12 @@ handle_type3(OM_uint32 *minor_status, ctx->status |= STATUS_SESSIONKEY; if (ctx->flags & NTLM_NEG_NTLM2_SESSION) { - ctx->u.v2.send.seq = 0; - RC4_set_key(&ctx->u.v2.send.sealkey, - ctx->sessionkey.length, - ctx->sessionkey.data); - memcpy(ctx->u.v2.send.signkey, ctx->sessionkey.data, 16); - - ctx->u.v2.recv.seq = 0; - RC4_set_key(&ctx->u.v2.recv.sealkey, - ctx->sessionkey.length, - ctx->sessionkey.data); - memcpy(ctx->u.v2.recv.signkey, ctx->sessionkey.data, 16); + _gss_ntlm_set_key(&ctx->u.v2.send, 1, + ctx->sessionkey.data, + ctx->sessionkey.length); + _gss_ntlm_set_key(&ctx->u.v2.recv, 0, + ctx->sessionkey.data, + ctx->sessionkey.length); } else { RC4_set_key(&ctx->u.v1.crypto_send.key, ctx->sessionkey.length, diff --git a/lib/gssapi/ntlm/init_sec_context.c b/lib/gssapi/ntlm/init_sec_context.c index 6098f7660..31bef5ab0 100644 --- a/lib/gssapi/ntlm/init_sec_context.c +++ b/lib/gssapi/ntlm/init_sec_context.c @@ -329,16 +329,12 @@ _gss_ntlm_init_sec_context if (ctx->flags & NTLM_NEG_NTLM2_SESSION) { ctx->status |= STATUS_SESSIONKEY; - ctx->u.v2.send.seq = 0; - RC4_set_key(&ctx->u.v2.send.sealkey, - ctx->sessionkey.length, - ctx->sessionkey.data); - memcpy(ctx->u.v2.send.signkey, ctx->sessionkey.data, 16); - ctx->u.v2.recv.seq = 0; - RC4_set_key(&ctx->u.v2.recv.sealkey, - ctx->sessionkey.length, - ctx->sessionkey.data); - memcpy(ctx->u.v2.recv.signkey, ctx->sessionkey.data, 16); + _gss_ntlm_set_key(&ctx->u.v2.send, 0, + ctx->sessionkey.data, + ctx->sessionkey.length); + _gss_ntlm_set_key(&ctx->u.v2.recv, 1, + ctx->sessionkey.data, + ctx->sessionkey.length); } else { ctx->status |= STATUS_SESSIONKEY; RC4_set_key(&ctx->u.v1.crypto_recv.key,