Author: erodriguez
Date: Tue Oct  5 11:24:56 2004
New Revision: 53816

Added:
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Authenticator.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/MessageComponentType.java
   
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Ticket.java
Log:
primary kerberos message components

Added: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Authenticator.java
==============================================================================
--- (empty file)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Authenticator.java
   Tue Oct  5 11:24:56 2004
@@ -0,0 +1,110 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.messages.components;
+
+import org.apache.kerberos.kdc.*;
+import org.apache.kerberos.messages.value.*;
+
+public class Authenticator {
+       
+       private int               _versionNumber;
+       private Realm             _clientRealm;
+       private PrincipalName     _clientName;
+       private Checksum          _checksum;
+       private int               _clientMicroSecond;
+       private KerberosTime      _clientTime;
+       private EncryptionKey     _subSessionKey;
+       private int               _sequenceNumber;
+       private AuthorizationData _authorizationData;
+       
+       public Authenticator() {
+               // TODO - probably temp
+       }
+
+       public Authenticator(Realm crealm, PrincipalName cname, Checksum cksum, 
int cusec,
+                       KerberosTime ctime, EncryptionKey subKey, int seqNumber,
+                       AuthorizationData authorizationData) {
+               
+               _versionNumber     = LocalConfig.AUTHENTICATOR_VNO;
+               _clientRealm       = crealm;
+               _clientName        = cname;
+               _checksum          = cksum;
+               _clientMicroSecond = cusec;
+               _clientTime        = ctime;
+               _subSessionKey     = subKey;
+               _sequenceNumber    = seqNumber;
+               _authorizationData = authorizationData;
+       }
+       
+       public PrincipalName getClientName() {
+               return _clientName;
+       }
+       public Realm getClientRealm() {
+               return _clientRealm;
+       }
+       public KerberosTime getClientTime() {
+               return _clientTime;
+       }
+       public int getClientMicroSecond() {
+               return _clientMicroSecond;
+       }
+       public AuthorizationData getAuthorizationData() {
+               return _authorizationData;
+       }
+       public Checksum getChecksum() {
+               return _checksum;
+       }
+       public int getSequenceNumber() {
+               return _sequenceNumber;
+       }
+       public EncryptionKey getSubSessionKey() {
+               return _subSessionKey;
+       }
+       public int getVersionNumber() {
+               return _versionNumber;
+       }
+       
+       // setters
+       public void setAuthorizationData(AuthorizationData data) {
+               _authorizationData = data;
+       }
+       public void setChecksum(Checksum checksum) {
+               _checksum = checksum;
+       }
+       public void setClientMicroSecond(int microSecond) {
+               _clientMicroSecond = microSecond;
+       }
+       public void setClientName(PrincipalName name) {
+               _clientName = name;
+       }
+       public void setClientRealm(Realm realm) {
+               _clientRealm = realm;
+       }
+       public void setClientTime(KerberosTime time) {
+               _clientTime = time;
+       }
+       public void setSequenceNumber(int number) {
+               _sequenceNumber = number;
+       }
+       public void setSubSessionKey(EncryptionKey sessionKey) {
+               _subSessionKey = sessionKey;
+       }
+       public void setVersionNumber(int number) {
+               _versionNumber = number;
+       }
+}
+

Added: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/MessageComponentType.java
==============================================================================
--- (empty file)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/MessageComponentType.java
    Tue Oct  5 11:24:56 2004
@@ -0,0 +1,80 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.messages.components;
+
+import java.util.*;
+
+/**
+ * Type-safe enumerator for message component types
+ */
+public class MessageComponentType implements Comparable {
+       /**
+        * Enumeration elements are constructed once upon class loading.
+        * Order of appearance here determines the order of compareTo.
+        */
+       public static final MessageComponentType NULL                  = new 
MessageComponentType(0,  "null");
+       public static final MessageComponentType KRB_TKT               = new 
MessageComponentType(1,  "ticket");
+       public static final MessageComponentType KRB_AUTHENTICATOR     = new 
MessageComponentType(2,  "authenticator");
+       public static final MessageComponentType KRB_ENC_TKT_PART      = new 
MessageComponentType(3,  "encrypted ticket part");
+       public static final MessageComponentType KRB_ENC_AS_REP_PART   = new 
MessageComponentType(25, "encrypted initial authentication part");
+       public static final MessageComponentType KRB_ENC_TGS_REP_PART  = new 
MessageComponentType(26, "encrypted TGS request part");
+       public static final MessageComponentType KRB_ENC_AP_REP_PART   = new 
MessageComponentType(27, "encrypted application request part");
+       public static final MessageComponentType KRB_ENC_KRB_PRIV_PART = new 
MessageComponentType(28, "encrypted application message part");
+       public static final MessageComponentType KRB_ENC_KRB_CRED_PART = new 
MessageComponentType(29, "encrypted credentials forward part");
+
+       public String toString() {
+               return _fName + " (" + _fOrdinal + ")";
+       }
+
+       public int compareTo(Object that) {
+               return _fOrdinal - ((MessageComponentType) that)._fOrdinal;
+       }
+
+       public static MessageComponentType getTypeByOrdinal(int type) {
+               for (int i = 0; i < fValues.length; i++)
+                       if (fValues[i]._fOrdinal == type)
+                               return fValues[i];
+               return NULL;
+       }
+       
+       public int getOrdinal() {
+               return _fOrdinal;
+       }
+
+       /// PRIVATE /////
+       private final String _fName;
+       private final int    _fOrdinal;
+
+       /**
+        * Private constructor prevents construction outside of this class.
+        */
+       private MessageComponentType(int ordinal, String name) {
+               _fOrdinal = ordinal;
+               _fName    = name;
+       }
+
+       /**
+        * These two lines are all that's necessary to export a List of VALUES.
+        */
+       private static final MessageComponentType[] fValues = {NULL, KRB_TKT, 
KRB_AUTHENTICATOR,
+                       KRB_ENC_TKT_PART, KRB_ENC_AS_REP_PART, 
KRB_ENC_TGS_REP_PART, KRB_ENC_AP_REP_PART,
+                       KRB_ENC_KRB_PRIV_PART, KRB_ENC_KRB_CRED_PART};
+       // VALUES needs to be located here, otherwise illegal forward reference
+       public static final List VALUES = 
Collections.unmodifiableList(Arrays.asList(fValues));
+
+}
+

Added: 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Ticket.java
==============================================================================
--- (empty file)
+++ 
incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/components/Ticket.java
  Tue Oct  5 11:24:56 2004
@@ -0,0 +1,158 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.messages.components;
+
+import org.apache.kerberos.kdc.*;
+import org.apache.kerberos.messages.value.*;
+
+/**
+ * Ticket message component as handed out by the ticket granting service
+ */
+public class Ticket {
+
+       private int           _ticketVersionNumber;
+       private Realm         _realm;
+       private PrincipalName _serverName;
+       
+       private EncTicketPart _encTicketPart = new EncTicketPart();
+       private EncryptedData _encPart       = new EncryptedData();
+       
+       public Ticket() {
+               _ticketVersionNumber = LocalConfig.TICKET_VNO;
+               // used to generate new Tickets during reply construction
+       }
+
+       public Ticket(Realm realm, PrincipalName serverName, EncryptedData 
encPart) {
+               _ticketVersionNumber = LocalConfig.TICKET_VNO;
+               _realm               = realm;
+               _serverName          = serverName;
+               _encPart             = encPart;
+       }
+       
+       // getters
+       public EncryptedData getEncPart() {
+               return _encPart;
+       }
+       public Realm getRealm() {
+               return _realm;
+       }
+       public PrincipalName getServerName() {
+               return _serverName;
+       }
+       public int getTicketVersionNumber() {
+               return _ticketVersionNumber;
+       }
+       
+       // setters
+       public void setEncTicketPart(EncTicketPart part) {
+               _encTicketPart = part;
+       }
+       public void setEncPart(EncryptedData part) {
+               _encPart = part;
+       }
+       public void setRealm(Realm _realm) {
+               this._realm = _realm;
+       }
+       public void setServerName(PrincipalName name) {
+               _serverName = name;
+       }
+       public void setTicketVersionNumber(int versionNumber) {
+               _ticketVersionNumber = versionNumber;
+       }
+       
+       // EncTicketPart delegate getters
+       public AuthorizationData getAuthorizationData() {
+               return _encTicketPart.getAuthorizationData();
+       }
+       public KerberosTime getAuthtime() {
+               return _encTicketPart.getAuthtime();
+       }
+       public HostAddresses getClientAddresses() {
+               return _encTicketPart.getClientAddresses();
+       }
+       public PrincipalName getClientName() {
+               return _encTicketPart.getClientName();
+       }
+       public Realm getClientRealm() {
+               return _encTicketPart.getClientRealm();
+       }
+       public KerberosTime getEndTime() {
+               return _encTicketPart.getEndTime();
+       }
+       public TicketFlags getFlags() {
+               return _encTicketPart.getFlags();
+       }
+       public KerberosTime getRenewTill() {
+               return _encTicketPart.getRenewTill();
+       }
+       public EncryptionKey getSessionKey() {
+               return _encTicketPart.getSessionKey();
+       }
+       public KerberosTime getStartTime() {
+               return _encTicketPart.getStartTime();
+       }
+       public TransitedEncoding getTransitedEncoding() {
+               return _encTicketPart.getTransitedEncoding();
+       }
+       
+       // EncTicketPart TicketFlag delegates 
+       public boolean getFlag(int flag) {
+               return _encTicketPart.getFlags().get(flag);
+       }
+       public void setFlag(int flag) {
+               _encTicketPart.getFlags().set(flag);
+       }
+       public void clearFlag(int flag) {
+               _encTicketPart.getFlags().clear(flag);
+       }
+       
+       // EncTicketPart delegate setters 
+       public void setAuthorizationData(AuthorizationData data) {
+               _encTicketPart.setAuthorizationData(data);
+       }
+       public void setAuthtime(KerberosTime authtime) {
+               _encTicketPart.setAuthtime(authtime);
+       }
+       public void setClientAddresses(HostAddresses addresses) {
+               _encTicketPart.setClientAddresses(addresses);
+       }
+       public void setClientName(PrincipalName name) {
+               _encTicketPart.setClientName(name);
+       }
+       public void setClientRealm(Realm realm) {
+               _encTicketPart.setClientRealm(realm);
+       }
+       public void setEndTime(KerberosTime time) {
+               _encTicketPart.setEndTime(time);
+       }
+       public void setFlags(TicketFlags flags) {
+               _encTicketPart.setFlags(flags);
+       }
+       public void setRenewTill(KerberosTime till) {
+               _encTicketPart.setRenewTill(till);
+       }
+       public void setSessionKey(EncryptionKey key) {
+               _encTicketPart.setSessionKey(key);
+       }
+       public void setStartTime(KerberosTime time) {
+               _encTicketPart.setStartTime(time);
+       }
+       public void setTransitedEncoding(TransitedEncoding encoding) {
+               _encTicketPart.setTransitedEncoding(encoding);
+       }
+}
+

Reply via email to