Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
2.0 KiB

/*-----------------------------------------------------------------------------
* Copyright (C) Microsoft Corporation, 1995 - 1996.
* All rights reserved.
*
* Owner :ramas
* Date :5/03/97
* description : Main Crypto functions for TLS1
*----------------------------------------------------------------------------*/
#ifndef _TLS1KEY_H_
#define _TLS1KEY_H_
SP_STATUS
SPBuildTls1FinalFinish(PSPContext pContext, PSPBuffer pBuffer, BOOL fClient);
SP_STATUS
Tls1ComputeMac(
PSPContext pContext,
BOOL fReadMac,
PSPBuffer pClean,
CHAR cContentType,
PBYTE pbMac,
DWORD cbMac);
SP_STATUS
Tls1MakeWriteSessionKeys(PSPContext pContext);
SP_STATUS
Tls1MakeReadSessionKeys(PSPContext pContext);
#define TLS1_LABEL_SERVER_WRITE_KEY "server write key"
#define TLS1_LABEL_CLIENT_WRITE_KEY "client write key"
#define CB_TLS1_WRITEKEY 16
#define TLS1_LABEL_MASTERSECRET "master secret"
#define CB_TLS1_MASTERSECRET 13
#define TLS1_LABEL_KEYEXPANSION "key expansion"
#define CB_TLS1_KEYEXPANSION 13
#define TLS1_LABEL_IVBLOCK "IV block"
#define CB_TLS1_IVBLOCK 8
#define TLS1_LABEL_CLIENTFINISHED "client finished"
#define TLS1_LABEL_SERVERFINISHED "server finished"
#define CB_TLS1_LABEL_FINISHED 15
#define CB_TLS1_VERIFYDATA 12
#define TLS1_LABEL_EAP_KEYS "client EAP encryption"
#define CB_TLS1_LABEL_EAP_KEYS 21
#define CBMD5DIGEST 16
#define CBSHADIGEST 20
#define CBBLOCKSIZE 64 //same for MD5 and SHA
#define CHIPAD 0x36
#define CHOPAD 0x5c
BOOL PRF(
PBYTE pbSecret,
DWORD cbSecret,
PBYTE pbLabel,
DWORD cbLabel,
PBYTE pbSeed,
DWORD cbSeed,
PBYTE pbKeyOut, //Buffer to copy the result...
DWORD cbKeyOut //# of bytes of key length they want as output.
);
#endif //_TLS1KEY_H_