// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::Network::IPsec" ), 
    Description ( 
       "IKESAEndpoint is created in the first phase of SA negotiation "
       "and protects the key negotiation traffic. This endpoint is "
       "only created when IKE is the key exchange protocol. Other "
       "protocols and their endpoints will be defined in a future "
       "release." )]
class CIM_IKESAEndpoint : CIM_SecurityAssociationEndpoint {

      [Description ( 
          "Identifier of the IKE phase 1 negotiation initiator. "
          "Combined with the ResponderCookie, this value, in string "
          "form, may be used to construct the value of the key "
          "field \'Name\', inherited from ServiceAccessPoint." )]
   uint64 InitiatorCookie;

      [Description ( 
          "Identifier of the IKE phase 1 negotiation responder. "
          "Combined with the InitiatorCookie, this value, in string "
          "form, may be used to construct the value of the key "
          "field \'Name\', inherited from ServiceAccessPoint." )]
   uint64 ResponderCookie;

      [Description ( 
          "CipherAlgorithm is an enumeration that specifies the "
          "encryption algorithm used by the IKESAEndpoint. The list "
          "of algorithms was generated from Appendix A of RFC2409. "
          "Note that the enumeration is different than the RFC "
          "list, since the values of Unknown and Other are taken "
          "into account." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", 
          "8..65000", "65001..65535" }, 
       Values { "Unknown", "Other", "DES", "IDEA", "Blowfish", 
          "RC5", "3DES", "CAST", "DMTF/IANA Reserved", 
          "Vendor Reserved" }, 
       MappingStrings { "RFC2409.IETF|Appendix A" }, 
       ModelCorrespondence { "CIM_IKESAEndpoint.OtherCipherAlgorithm" }]
   uint16 CipherAlgorithm;

      [Description ( 
          "Description of the encryption algorithm when the value 1 "
          "(\"Other\") is specified for the property, "
          "CipherAlgorithm." ), 
       ModelCorrespondence { "CIM_IKESAEndpoint.CipherAlgorithm" }]
   string OtherCipherAlgorithm;

      [Description ( 
          "HashAlgorithm is an enumeration that specifies the hash "
          "function used by the IKESAEndpoint. The list of "
          "algorithms was generated from Appendix A of RFC2409. "
          "Note that the enumeration is different than the RFC "
          "list, since the values of Unknown and Other are taken "
          "into account." ), 
       ValueMap { "0", "1", "2", "3", "4", "5..65000", "65001..65535" }, 
       Values { "Unknown", "Other", "MD5", "SHA-1", "Tiger", 
          "DMTF/IANA Reserved", "Vendor Reserved" }, 
       MappingStrings { "RFC2409.IETF|Appendix A" }, 
       ModelCorrespondence { "CIM_IKESAEndpoint.OtherHashAlgorithm" }]
   uint16 HashAlgorithm;

      [Description ( 
          "Description of the hash function when the value 1 "
          "(\"Other\") is specified for the property, "
          "HashAlgorithm." ), 
       ModelCorrespondence { "CIM_IKESAEndpoint.HashAlgorithm" }]
   string OtherHashAlgorithm;

      [Description ( 
          "AuthenticationMethod is an enumeration that specifies "
          "the operation of the IKESAEndpoint. The list of methods "
          "was generated from Appendix A of RFC2409. Note that the "
          "enumeration is different than the RFC list, since the "
          "values of Unknown and Other are taken into account." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7..65000", 
          "65001..65535" }, 
       Values { "Unknown", "Other", "Pre-shared Key", 
          "DSS Signatures", "RSA Signatures", "Encryption with RSA", 
          "Revised Encryption with RSA", "DMTF/IANA Reserved", 
          "Vendor Reserved" }, 
       MappingStrings { "RFC2409.IETF|Appendix A" }, 
       ModelCorrespondence { 
          "CIM_IKESAEndpoint.OtherAuthenticationMethod" }]
   uint16 AuthenticationMethod;

      [Description ( 
          "Description of the method when the value 1 (\"Other\") "
          "is specified for the property, AuthenticationMethod." ), 
       ModelCorrespondence { "CIM_IKESAEndpoint.AuthenticationMethod" }]
   string OtherAuthenticationMethod;

      [Description ( 
          "GroupId specifies the key exchange group ID. If the "
          "GroupID number is from the vendor-specific range "
          "(32768-65535), the VendorID qualifies the group number. "
          "Well-known group identifiers from RFC2412, Appendix E, "
          "are: Group 1=\'768 bit prime\', Group 2=\'1024 bit "
          "prime\', Group 3= \'Elliptic Curve Group with 155 bit "
          "field element\', Group 4= \'Large Elliptic Curve Group "
          "with 185 bit field element\', and Group 5=\'1536 bit "
          "prime\'." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." }, 
       Values { "No Group/Non-Diffie-Hellman Exchange", 
          "DH-768 bit prime", "DH-1024 bit prime", 
          "EC2N-155 bit field element", 
          "EC2N-185 bit field element", "DH-1536 bit prime", 
          "Standard Group - Reserved", "Vendor Reserved" }, 
       MappingStrings { "RFC2412.IETF|Appendix E" }, 
       ModelCorrespondence { "CIM_IKESAEndpoint.VendorID" }]
   uint16 GroupId;

      [Description ( 
          "VendorID identifies the vendor when the value of GroupID "
          "is in the vendor-specific range, 32768 to 65535." ), 
       ModelCorrespondence { "CIM_IKESAEndpoint.GroupId" }]
   string VendorID;


};
