12#define ISCSI_AUTH_METHOD_CHAP "CHAP"
14#define ISCSI_KEY_CHAP_ALGORITHM "CHAP_A"
15#define ISCSI_KEY_CHAP_IDENTIFIER "CHAP_I"
16#define ISCSI_KEY_CHAP_CHALLENGE "CHAP_C"
17#define ISCSI_KEY_CHAP_NAME "CHAP_N"
18#define ISCSI_KEY_CHAP_RESPONSE "CHAP_R"
24#define ISCSI_CHAP_ALGORITHM_MD5 5
25#define ISCSI_CHAP_ALGORITHM_SHA256 7
31#define ISCSI_CHAP_MAX_DIGEST_SIZE SHA256_DIGEST_SIZE
33#define ISCSI_CHAP_STEP_ONE 1
34#define ISCSI_CHAP_STEP_TWO 2
35#define ISCSI_CHAP_STEP_THREE 3
36#define ISCSI_CHAP_STEP_FOUR 4
42 CHAR8 CHAPName[ISCSI_CHAP_NAME_STORAGE];
43 CHAR8 CHAPSecret[ISCSI_CHAP_SECRET_STORAGE];
44 CHAR8 ReverseCHAPName[ISCSI_CHAP_NAME_STORAGE];
45 CHAR8 ReverseCHAPSecret[ISCSI_CHAP_SECRET_STORAGE];
55(EFIAPI *CHAP_HASH_GET_CONTEXT_SIZE)(
61(EFIAPI *CHAP_HASH_INIT)(
67(EFIAPI *CHAP_HASH_UPDATE)(
75(EFIAPI *CHAP_HASH_FINAL)(
83 CHAP_HASH_GET_CONTEXT_SIZE GetContextSize;
85 CHAP_HASH_UPDATE Update;
86 CHAP_HASH_FINAL Final;
95 UINT8 InChallenge[1024];
96 UINT32 InChallengeLength;
105 UINT8 CHAPResponse[ISCSI_CHAP_MAX_DIGEST_SIZE];
115 UINT32 OutIdentifier;
116 UINT8 OutChallenge[ISCSI_CHAP_MAX_DIGEST_SIZE];
struct _ISCSI_CHAP_AUTH_DATA ISCSI_CHAP_AUTH_DATA
EFI_STATUS IScsiCHAPToSendReq(IN ISCSI_CONNECTION *Conn, IN OUT NET_BUF *Pdu)
VOID IScsiCHAPInitHashList(VOID)
EFI_STATUS IScsiCHAPOnRspReceived(IN ISCSI_CONNECTION *Conn)