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.
|
|
/*-----------------------------------------------------------------------------
* 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_
|