82 lines
2.1 KiB
C
82 lines
2.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (C) Microsoft Corporation, 1999
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
mschapp - MS-CHAP Password Change API
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
These APIs correspond to the MS-CHAP RFC -2433 sections 9 and 10. In order
|
||
|
to develop an MS-CHAP RAS server that works with an NT domain, these APIs
|
||
|
are required.
|
||
|
|
||
|
Only wide (Unicode) versions of these apis will be available. These are the
|
||
|
2 callable APIs:
|
||
|
|
||
|
* MSChapSrvChangePassword
|
||
|
* MsChapSrvChangePassword2
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _MSCHAPP_H_
|
||
|
#define _MSCHAPP_H_
|
||
|
|
||
|
#ifndef _NTCRYPT_
|
||
|
#define CYPHER_BLOCK_LENGTH 8
|
||
|
|
||
|
typedef struct _CYPHER_BLOCK {
|
||
|
CHAR data[CYPHER_BLOCK_LENGTH];
|
||
|
}CYPHER_BLOCK;
|
||
|
|
||
|
typedef struct _LM_OWF_PASSWORD {
|
||
|
CYPHER_BLOCK data[2];
|
||
|
} LM_OWF_PASSWORD;
|
||
|
typedef LM_OWF_PASSWORD * PLM_OWF_PASSWORD;
|
||
|
typedef LM_OWF_PASSWORD NT_OWF_PASSWORD;
|
||
|
typedef NT_OWF_PASSWORD * PNT_OWF_PASSWORD;
|
||
|
|
||
|
typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD {
|
||
|
UCHAR Buffer[ (256 * 2) + 4 ];
|
||
|
} SAMPR_ENCRYPTED_USER_PASSWORD, *PSAMPR_ENCRYPTED_USER_PASSWORD;
|
||
|
|
||
|
typedef struct _ENCRYPTED_LM_OWF_PASSWORD {
|
||
|
CYPHER_BLOCK data[2];
|
||
|
};
|
||
|
|
||
|
typedef ENCRYPTED_LM_OWF_PASSWORD ENCRYPTED_NT_OWF_PASSWORD;
|
||
|
#endif
|
||
|
|
||
|
|
||
|
//
|
||
|
// Change a password.
|
||
|
//
|
||
|
|
||
|
extern WINADVAPI DWORD WINAPI
|
||
|
MSChapSrvChangePassword(
|
||
|
IN LPWSTR ServerName,
|
||
|
IN LPWSTR UserName,
|
||
|
IN BOOLEAN LmOldPresent,
|
||
|
IN PLM_OWF_PASSWORD LmOldOwfPassword,
|
||
|
IN PLM_OWF_PASSWORD LmNewOwfPassword,
|
||
|
IN PNT_OWF_PASSWORD NtOldOwfPassword,
|
||
|
IN PNT_OWF_PASSWORD NtNewOwfPassword);
|
||
|
|
||
|
|
||
|
//
|
||
|
// Change a password using mutual encryption.
|
||
|
//
|
||
|
|
||
|
extern WINADVAPI DWORD WINAPI
|
||
|
MSChapSrvChangePassword2(
|
||
|
IN LPWSTR ServerName,
|
||
|
IN LPWSTR UserName,
|
||
|
IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt,
|
||
|
IN PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt,
|
||
|
IN BOOLEAN LmPresent,
|
||
|
IN PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm,
|
||
|
IN PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPasswordEncryptedWithNewLmOrNt);
|
||
|
|
||
|
#endif // _MSCHAPP_H_
|