123export const IKE_EXCHANGE_AUTH = 35;456export const IKE_EXCHANGE_CREATE_CHILD_SA = 36;789export const IKE_EXCHANGE_INFORMATIONAL = 37;101112export const IKE_EXCHANGE_SA_INIT = 34;131415export const IKE_FLAGS_InitiatorBitCheck = 0x08;161718export const IKE_NOTIFY_NO_PROPOSAL_CHOSEN = 14;192021export const IKE_NOTIFY_USE_TRANSPORT_MODE = 16391;222324export const IKE_VERSION_2 = 0x20;2526/**27* IKEMessage is the IKEv2 message28* IKEv2 implements a limited subset of IKEv2 Protocol, specifically29* the IKE_NOTIFY and IKE_NONCE payloads and the IKE_SA_INIT exchange.30*/31export class IKEMessage {32333435public InitiatorSPI?: number;36373839public Version?: number;40414243public ExchangeType?: number;44454647public Flags?: number;484950// Constructor of IKEMessage51constructor() {}52/**53* AppendPayload appends a payload to the IKE message54* payload can be any of the payloads like IKENotification, IKENonce, etc.55* @example56* ```javascript57* const ikev2 = require('nuclei/ikev2');58* const message = new ikev2.IKEMessage();59* const nonce = new ikev2.IKENonce();60* nonce.NonceData = [1, 2, 3];61* message.AppendPayload(nonce);62* ```63*/64public AppendPayload(payload: any): void {65return;66}676869/**70* Encode encodes the final IKE message71* @example72* ```javascript73* const ikev2 = require('nuclei/ikev2');74* const message = new ikev2.IKEMessage();75* const nonce = new ikev2.IKENonce();76* nonce.NonceData = [1, 2, 3];77* message.AppendPayload(nonce);78* log(message.Encode());79* ```80*/81public Encode(): Uint8Array | null {82return null;83}848586}87888990/**91* IKENonce is the IKEv2 Nonce payload92* this implements the IKEPayload interface93* @example94* ```javascript95* const ikev2 = require('nuclei/ikev2');96* const nonce = new ikev2.IKENonce();97* nonce.NonceData = [1, 2, 3];98* ```99*/100export interface IKENonce {101102NonceData?: Uint8Array,103}104105106107/**108* IKEv2Notify is the IKEv2 Notification payload109* this implements the IKEPayload interface110* @example111* ```javascript112* const ikev2 = require('nuclei/ikev2');113* const notify = new ikev2.IKENotification();114* notify.NotifyMessageType = ikev2.IKE_NOTIFY_NO_PROPOSAL_CHOSEN;115* notify.NotificationData = [1, 2, 3];116* ```117*/118export interface IKENotification {119120NotifyMessageType?: number,121122NotificationData?: Uint8Array,123}124125126127