summaryrefslogtreecommitdiff
path: root/source3/libsmb/smbencrypt.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-11-21 19:59:56 +0000
committerLuke Leighton <lkcl@samba.org>1999-11-21 19:59:56 +0000
commit32b9508d066f002e778873edc19266a6d897f922 (patch)
treec15477a812fad192ff43b2296ed3da3e46eb2a75 /source3/libsmb/smbencrypt.c
parentdab1a1227873f1a88dc7a4b8f63edcccd60ada85 (diff)
downloadsamba-32b9508d066f002e778873edc19266a6d897f922.tar.gz
samba-32b9508d066f002e778873edc19266a6d897f922.tar.bz2
samba-32b9508d066f002e778873edc19266a6d897f922.zip
implement server-side generation of NTLMv2 session key. YESSS :-)
(This used to be commit 1092b4f6fbdf3770c0dab756b982a562def1738e)
Diffstat (limited to 'source3/libsmb/smbencrypt.c')
-rw-r--r--source3/libsmb/smbencrypt.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/source3/libsmb/smbencrypt.c b/source3/libsmb/smbencrypt.c
index 6bc0e71f6f..3227caaa95 100644
--- a/source3/libsmb/smbencrypt.c
+++ b/source3/libsmb/smbencrypt.c
@@ -283,6 +283,34 @@ void SMBOWFencrypt_ntv2(const uchar kr[16],
#endif
}
+void SMBsesskeygen_ntv2(const uchar kr[16],
+ const uchar *nt_resp,
+ char sess_key[16])
+{
+ HMACMD5Context ctx;
+
+ hmac_md5_init_limK_to_64(kr, 16, &ctx);
+ hmac_md5_update(nt_resp, 16, &ctx);
+ hmac_md5_final(sess_key, &ctx);
+
+#ifdef DEBUG_PASSWORD
+ DEBUG(100,("SMBsesskeygen_ntv2:\n"));
+ dump_data(100, sess_key, 16);
+#endif
+}
+
+void SMBsesskeygen_ntv1(const uchar kr[16],
+ const uchar *nt_resp,
+ char sess_key[16])
+{
+ mdfour(sess_key, kr, 16);
+
+#ifdef DEBUG_PASSWORD
+ DEBUG(100,("SMBsesskeygen_ntv2:\n"));
+ dump_data(100, sess_key, 16);
+#endif
+}
+
void SMBgenclientchals(char *lm_cli_chal,
char *nt_cli_chal, int *nt_cli_chal_len,
const char *srv, const char *dom)