MSChapp.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1999
  3. Module Name:
  4.     mschapp - MS-CHAP Password Change API
  5. Abstract:
  6.     These APIs correspond to the MS-CHAP RFC -2433 sections 9 and 10. In order
  7.     to develop an MS-CHAP RAS server that works with an NT domain, these APIs
  8.     are required.
  9.     Only wide (Unicode) versions of these apis will be available. These are the
  10.     2 callable APIs:
  11.     *   MSChapSrvChangePassword
  12.     *   MsChapSrvChangePassword2
  13. --*/
  14. #ifndef _MSCHAPP_H_
  15. #define _MSCHAPP_H_
  16. #ifndef _NTCRYPT_
  17. #define CYPHER_BLOCK_LENGTH         8
  18. typedef struct _CYPHER_BLOCK {
  19.     CHAR    data[CYPHER_BLOCK_LENGTH];
  20. }CYPHER_BLOCK;
  21.     
  22. typedef struct _LM_OWF_PASSWORD {
  23.     CYPHER_BLOCK data[2];
  24. }                                   LM_OWF_PASSWORD;
  25. typedef LM_OWF_PASSWORD *           PLM_OWF_PASSWORD;
  26. typedef LM_OWF_PASSWORD             NT_OWF_PASSWORD;
  27. typedef NT_OWF_PASSWORD *           PNT_OWF_PASSWORD;
  28. typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD {
  29.     UCHAR Buffer[ (256 * 2) + 4 ];
  30. } SAMPR_ENCRYPTED_USER_PASSWORD, *PSAMPR_ENCRYPTED_USER_PASSWORD;
  31. typedef struct _ENCRYPTED_LM_OWF_PASSWORD {
  32.     CYPHER_BLOCK data[2];
  33. };   
  34. typedef ENCRYPTED_LM_OWF_PASSWORD   ENCRYPTED_NT_OWF_PASSWORD;
  35. #endif
  36. //
  37. // Change a password.
  38. //
  39.     
  40. extern WINADVAPI DWORD WINAPI
  41. MSChapSrvChangePassword(
  42.    IN LPWSTR ServerName,
  43.    IN LPWSTR UserName,
  44.    IN BOOLEAN LmOldPresent,
  45.    IN PLM_OWF_PASSWORD LmOldOwfPassword,
  46.    IN PLM_OWF_PASSWORD LmNewOwfPassword,
  47.    IN PNT_OWF_PASSWORD NtOldOwfPassword,
  48.    IN PNT_OWF_PASSWORD NtNewOwfPassword);
  49. //
  50. // Change a password using mutual encryption.
  51. //
  52. extern WINADVAPI DWORD WINAPI
  53. MSChapSrvChangePassword2(
  54.     IN LPWSTR ServerName,
  55.     IN LPWSTR UserName,
  56.     IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt,
  57.     IN PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt,
  58.     IN BOOLEAN LmPresent,
  59.     IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm,
  60.     IN PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPasswordEncryptedWithNewLmOrNt);
  61. #endif // _MSCHAPP_H_