/** @file\r
The Implementations for Information Exchange.\r
\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
{\r
IKEV2_CHILD_SA_SESSION *ChildSaSession;\r
IKEV2_SA_SESSION *IkeSaSession;\r
- IKE_PAYLOAD *NotifyPayload;\r
IKE_PAYLOAD *DeletePayload;\r
IKE_PAYLOAD *IkePayload;\r
IKEV2_DELETE *Delete;\r
\r
IkeSaSession = (IKEV2_SA_SESSION *) SaSession;\r
\r
- NotifyPayload = NULL;\r
DeletePayload = NULL;\r
Private = NULL;\r
RespondPacket = NULL;\r
/** @file\r
The implementation of Payloads Creation.\r
\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
IKE_PAYLOAD *IdPayload;\r
IKEV2_ID *Id;\r
UINTN IdSize;\r
- UINT8 IpVersion;\r
UINTN SubjectSize;\r
UINT8 *CertSubject;\r
\r
\r
SubjectSize = 0;\r
CertSubject = NULL;\r
- IpVersion = CommonSession->UdpService->IpVersion;\r
IpSecCryptoIoGetSubjectFromCert (\r
InCert,\r
CertSize,\r
UINTN DigestSize;\r
PRF_DATA_FRAGMENT Fragments[3];\r
UINT8 *KeyBuf;\r
- UINTN KeySize;\r
IKE_PAYLOAD *AuthPayload;\r
IKEV2_AUTH *PayloadBuf;\r
EFI_STATUS Status;\r
ASSERT (KeyBuf != NULL);\r
\r
CopyMem (KeyBuf, Digest, DigestSize);\r
- KeySize = DigestSize;\r
\r
//\r
// Calculate Prf(SK_Pi/r, IDi/r)\r
IKEV2_CHILD_SA_SESSION *ChildSaSession;\r
EFI_STATUS Status;\r
UINT8 PadLen;\r
- UINTN CryptKeyLength;\r
HASH_DATA_FRAGMENT Fragments[1];\r
\r
IvSize = 0;\r
IkeSaSession = NULL;\r
CryptBlockSize = 0;\r
CheckSumSize = 0;\r
- CryptKeyLength = 0;\r
\r
//\r
// Check if the first payload is the Encrypted payload\r
if (SessionCommon->IkeSessionType == IkeSessionTypeIkeSa) {\r
\r
CryptBlockSize = (UINT8) IpSecGetEncryptBlockSize ((UINT8) SessionCommon->SaParams->EncAlgId);\r
- CryptKeyLength = IpSecGetEncryptKeyLength ((UINT8) SessionCommon->SaParams->EncAlgId);\r
+\r
CheckSumSize = (UINT8) IpSecGetIcvLength ((UINT8) SessionCommon->SaParams->IntegAlgId);\r
IkeSaSession = IKEV2_SA_SESSION_FROM_COMMON (SessionCommon);\r
\r
ChildSaSession = IKEV2_CHILD_SA_SESSION_FROM_COMMON (SessionCommon);\r
IkeSaSession = ChildSaSession->IkeSaSession;\r
CryptBlockSize = (UINT8) IpSecGetEncryptBlockSize ((UINT8) IkeSaSession->SessionCommon.SaParams->EncAlgId);\r
- CryptKeyLength = IpSecGetEncryptKeyLength ((UINT8) IkeSaSession->SessionCommon.SaParams->EncAlgId);\r
CheckSumSize = (UINT8) IpSecGetIcvLength ((UINT8) IkeSaSession->SessionCommon.SaParams->IntegAlgId);\r
} else {\r
//\r
UINT8 *EncryptPayloadBuf; // Contain whole Encrypted Payload\r
UINTN EncryptPayloadSize; // Total size of the Encrypted payload\r
UINT8 *IntegrityBuf; // Buffer to be intergity\r
- UINT32 IntegrityBufSize; // Buffer size of IntegrityBuf\r
UINT8 *IvBuffer; // Initialization Vector\r
UINT8 IvSize; // Iv Size\r
UINT8 CheckSumSize; // Integrity Check Sum Size depends on intergrity Auth\r
EFI_STATUS Status;\r
LIST_ENTRY *Entry;\r
IKE_PAYLOAD *IkePayload;\r
- UINTN CryptKeyLength;\r
HASH_DATA_FRAGMENT Fragments[1];\r
\r
Status = EFI_SUCCESS;\r
IkeSaSession = NULL;\r
CryptBlockSize = 0;\r
CheckSumSize = 0;\r
- CryptKeyLength = 0;\r
IntegrityBuf = NULL;\r
//\r
// Get the Block Size\r
if (SessionCommon->IkeSessionType == IkeSessionTypeIkeSa) {\r
\r
CryptBlockSize = (UINT8) IpSecGetEncryptBlockSize ((UINT8) SessionCommon->SaParams->EncAlgId);\r
- CryptKeyLength = IpSecGetEncryptKeyLength ((UINT8) SessionCommon->SaParams->EncAlgId);\r
CheckSumSize = (UINT8) IpSecGetIcvLength ((UINT8) SessionCommon->SaParams->IntegAlgId);\r
IkeSaSession = IKEV2_SA_SESSION_FROM_COMMON (SessionCommon);\r
\r
ChildSaSession = IKEV2_CHILD_SA_SESSION_FROM_COMMON (SessionCommon);\r
IkeSaSession = ChildSaSession->IkeSaSession;\r
CryptBlockSize = (UINT8) IpSecGetEncryptBlockSize ((UINT8) IkeSaSession->SessionCommon.SaParams->EncAlgId);\r
- CryptKeyLength = IpSecGetEncryptKeyLength ((UINT8) IkeSaSession->SessionCommon.SaParams->EncAlgId);\r
CheckSumSize = (UINT8) IpSecGetIcvLength ((UINT8) IkeSaSession->SessionCommon.SaParams->IntegAlgId);\r
}\r
\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ON_EXIT;\r
}\r
- IntegrityBufSize = IkePacket->Header->Length;\r
IkeHdrHostToNet (IkePacket->Header);\r
\r
CopyMem (IntegrityBuf, IkePacket->Header, sizeof (IKE_HEADER));\r
/** @file\r
The operations for IKEv2 SA.\r
\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
IKE_PAYLOAD *TsiPayload;\r
IKE_PAYLOAD *TsrPayload;\r
IKE_PAYLOAD *CertPayload;\r
- IKE_PAYLOAD *CertReqPayload;\r
IKE_PAYLOAD *VerifiedAuthPayload;\r
LIST_ENTRY *Entry;\r
EFI_STATUS Status;\r
TsiPayload = NULL;\r
TsrPayload = NULL;\r
CertPayload = NULL;\r
- CertReqPayload = NULL;\r
VerifiedAuthPayload = NULL;\r
Status = EFI_INVALID_PARAMETER;\r
\r
if (IkePayload->PayloadType == IKEV2_PAYLOAD_TYPE_CERT) {\r
CertPayload = IkePayload;\r
}\r
- if (IkePayload->PayloadType == IKEV2_PAYLOAD_TYPE_CERTREQ) {\r
- CertReqPayload = IkePayload;\r
- }\r
}\r
\r
if ((SaPayload == NULL) || (AuthPayload == NULL) || (TsiPayload == NULL) || \r
{\r
EFI_STATUS Status;\r
IKEV2_SA_PARAMS *SaParams;\r
- IPSEC_PAD_ENTRY *Pad;\r
PRF_DATA_FRAGMENT Fragments[4];\r
UINT64 InitiatorCookieNet;\r
UINT64 ResponderCookieNet;\r
//\r
Ikev2GenerateSaDhComputeKey (IkeSaSession->IkeKeys->DhBuffer, KePayload);\r
\r
- Pad = IkeSaSession->Pad;\r
-\r
//\r
// Get the key length of Authenticaion, Encryption, PRF, and Integrity.\r
//\r
/** @file\r
The Common operations used by IKE Exchange Process.\r
\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
IKEV2_SESSION_COMMON *SessionCommon;\r
IKEV2_CHILD_SA_SESSION *OldChildSaSession;\r
IKEV2_SA_SESSION *IkeSaSession;\r
- IKEV2_SA_PARAMS *SaParams;\r
EFI_STATUS Status;\r
UINT64 Lifetime;\r
\r
//\r
// Start to count the lifetime of the IKE SA.\r
//\r
- SaParams = SessionCommon->SaParams;\r
if (ChildSaSession->Spd->Data->ProcessingPolicy->SaLifetime.HardLifetime != 0){\r
Lifetime = ChildSaSession->Spd->Data->ProcessingPolicy->SaLifetime.HardLifetime;\r
} else {\r