001    /*
002     *  Licensed to the Apache Software Foundation (ASF) under one
003     *  or more contributor license agreements.  See the NOTICE file
004     *  distributed with this work for additional information
005     *  regarding copyright ownership.  The ASF licenses this file
006     *  to you under the Apache License, Version 2.0 (the
007     *  "License"); you may not use this file except in compliance
008     *  with the License.  You may obtain a copy of the License at
009     *  
010     *    http://www.apache.org/licenses/LICENSE-2.0
011     *  
012     *  Unless required by applicable law or agreed to in writing,
013     *  software distributed under the License is distributed on an
014     *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015     *  KIND, either express or implied.  See the License for the
016     *  specific language governing permissions and limitations
017     *  under the License. 
018     *  
019     */
020    package org.apache.directory.server.kerberos.shared.messages.value;
021    
022    
023    import javax.security.auth.kerberos.KerberosPrincipal;
024    
025    import org.apache.directory.server.kerberos.shared.messages.value.flags.TicketFlags;
026    
027    
028    /**
029     * Kerberos credential information.
030     * 
031     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
032     * @version $Rev: 591019 $, $Date: 2007-11-01 15:16:34 +0100 (Thu, 01 Nov 2007) $
033     */
034    public class KrbCredInfo
035    {
036        private EncryptionKey key;
037        private KerberosPrincipal clientPrincipal; //optional
038        private TicketFlags flags; //optional
039        private KerberosTime authTime; //optional
040        private KerberosTime startTime; //optional
041        private KerberosTime endTime; //optional
042        private KerberosTime renewTill; //optional
043        private KerberosPrincipal serverPrincipal; //optional
044        private HostAddresses clientAddresses; //optional
045    
046    
047        /**
048         * Creates a new instance of KrbCredInfo.
049         *
050         * @param key
051         * @param clientPrincipal
052         * @param flags
053         * @param authTime
054         * @param startTime
055         * @param endTime
056         * @param renewTill
057         * @param serverPrincipal
058         * @param clientAddresses
059         */
060        public KrbCredInfo( EncryptionKey key, KerberosPrincipal clientPrincipal, TicketFlags flags, KerberosTime authTime,
061            KerberosTime startTime, KerberosTime endTime, KerberosTime renewTill, KerberosPrincipal serverPrincipal,
062            HostAddresses clientAddresses )
063        {
064            this.key = key;
065            this.clientPrincipal = clientPrincipal;
066            this.flags = flags;
067            this.authTime = authTime;
068            this.startTime = startTime;
069            this.endTime = endTime;
070            this.renewTill = renewTill;
071            this.serverPrincipal = serverPrincipal;
072            this.clientAddresses = clientAddresses;
073        }
074    
075    
076        /**
077         * Returns the auth {@link KerberosTime}.
078         *
079         * @return The auth {@link KerberosTime}.
080         */
081        public KerberosTime getAuthTime()
082        {
083            return authTime;
084        }
085    
086    
087        /**
088         * Returns the client {@link HostAddresses}.
089         *
090         * @return The client {@link HostAddresses}.
091         */
092        public HostAddresses getClientAddresses()
093        {
094            return clientAddresses;
095        }
096    
097    
098        /**
099         * Returns the end {@link KerberosTime}.
100         *
101         * @return The end {@link KerberosTime}.
102         */
103        public KerberosTime getEndTime()
104        {
105            return endTime;
106        }
107    
108    
109        /**
110         * Returns the {@link TicketFlags}.
111         *
112         * @return The {@link TicketFlags}.
113         */
114        public TicketFlags getFlags()
115        {
116            return flags;
117        }
118    
119    
120        /**
121         * Returns the {@link EncryptionKey}.
122         *
123         * @return The {@link EncryptionKey}.
124         */
125        public EncryptionKey getKey()
126        {
127            return key;
128        }
129    
130    
131        /**
132         * Returns the client {@link KerberosPrincipal}.
133         *
134         * @return The client {@link KerberosPrincipal}.
135         */
136        public KerberosPrincipal getClientPrincipal()
137        {
138            return clientPrincipal;
139        }
140    
141    
142        /**
143         * Returns the renew till {@link KerberosTime}.
144         *
145         * @return The renew till {@link KerberosTime}.
146         */
147        public KerberosTime getRenewTill()
148        {
149            return renewTill;
150        }
151    
152    
153        /**
154         * Returns the server {@link KerberosPrincipal}.
155         *
156         * @return The server {@link KerberosPrincipal}.
157         */
158        public KerberosPrincipal getServerPrincipal()
159        {
160            return serverPrincipal;
161        }
162    
163    
164        /**
165         * Returns the start {@link KerberosTime}.
166         *
167         * @return The start {@link KerberosTime}.
168         */
169        public KerberosTime getStartTime()
170        {
171            return startTime;
172        }
173    }