Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ type N3UE struct {
RanUeContext *security.RanUeContext
MobileIdentity5GS nasType.MobileIdentity5GS
IkeInitiatorSPI uint64
IkeIDInitiator []byte
Secert *big.Int
Factor *big.Int
Proposal *message.Proposal
Expand Down
3 changes: 2 additions & 1 deletion pkg/ike/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,8 @@ func (s *Server) handleIKEAUTH(
}

var idPayload ike_message.IKEPayloadContainer
idPayload.BuildIdentificationInitiator(ike_message.ID_KEY_ID, []byte("UE"))
idInitiator := n3ueSelf.IkeIDInitiator
idPayload.BuildIdentificationInitiator(ike_message.ID_KEY_ID, idInitiator)
idPayloadData, err := idPayload.Encode()
if err != nil {
ikeLog.Errorln(err)
Expand Down
13 changes: 11 additions & 2 deletions pkg/ike/send.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,16 @@ func (s *Server) SendIkeAuth() {
var ikePayload ike_message.IKEPayloadContainer

// Identification
ikePayload.BuildIdentificationInitiator(ike_message.ID_KEY_ID, []byte("UE"))
idByte := make([]byte, 8)
id, err := ike_security.GenerateRandomNumber()
if err != nil {
ikeLog.Errorf("error generating IDi: %d", err)
return
}

binary.BigEndian.PutUint64(idByte, id.Uint64())
ikePayload.BuildIdentificationInitiator(ike_message.ID_KEY_ID, idByte)
n3ueContext.IkeIDInitiator = idByte

// Security Association
n3ueContext.SecurityAssociation = ikePayload.BuildSecurityAssociation()
Expand Down Expand Up @@ -196,7 +205,7 @@ func (s *Server) SendIkeAuth() {
n3ueContext.N3IWFUe.IKEConnection = n3ueContext.IKEConnection[4500]
}

err := s.SendIkeMsgToN3iwf(
err = s.SendIkeMsgToN3iwf(
n3ueContext.N3IWFUe.IKEConnection,
ikeMessage,
n3ueContext.N3IWFUe.N3IWFIKESecurityAssociation)
Expand Down
Loading