1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.shared.kerberos.messages;
21
22
23 import java.nio.ByteBuffer;
24
25 import org.apache.directory.api.asn1.EncoderException;
26 import org.apache.directory.api.asn1.ber.tlv.TLV;
27 import org.apache.directory.shared.kerberos.KerberosConstants;
28 import org.apache.directory.shared.kerberos.KerberosMessageType;
29 import org.apache.directory.shared.kerberos.KerberosTime;
30 import org.apache.directory.shared.kerberos.components.KdcRep;
31 import org.apache.directory.shared.kerberos.components.PrincipalName;
32 import org.apache.directory.shared.kerberos.flags.TicketFlags;
33
34
35
36
37
38
39
40
41
42
43 public class AsRep extends KdcRep
44 {
45
46 private int kdcRepLength;
47 private int asRepLength;
48
49
50
51
52
53 public AsRep()
54 {
55 super( KerberosMessageType.AS_REP );
56 }
57
58
59
60
61
62
63
64 public KerberosTime getEndTime()
65 {
66 return encKdcRepPart.getEndTime();
67 }
68
69
70
71
72
73
74
75 public TicketFlags getFlags()
76 {
77 return encKdcRepPart.getFlags();
78 }
79
80
81
82
83
84
85
86 public int getNonce()
87 {
88 return encKdcRepPart.getNonce();
89 }
90
91
92
93
94
95
96
97 public KerberosTime getRenewTill()
98 {
99 return encKdcRepPart.getRenewTill();
100 }
101
102
103
104
105
106
107
108 public KerberosTime getStartTime()
109 {
110 return encKdcRepPart.getStartTime();
111 }
112
113
114
115
116
117
118
119 public PrincipalName getSName()
120 {
121 return encKdcRepPart.getSName();
122 }
123
124
125
126
127
128
129
130
131
132
133
134
135 @Override
136 public int computeLength()
137 {
138 kdcRepLength = super.computeLength();
139 asRepLength = 1 + TLV.getNbBytes( kdcRepLength ) + kdcRepLength;
140
141 return asRepLength;
142 }
143
144
145
146
147
148
149
150
151
152 @Override
153 public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
154 {
155 if ( buffer == null )
156 {
157 buffer = ByteBuffer.allocate( computeLength() );
158 }
159
160
161 buffer.put( ( byte ) KerberosConstants.AS_REP_TAG );
162 buffer.put( TLV.getBytes( kdcRepLength ) );
163
164
165 super.encode( buffer );
166
167 return buffer;
168 }
169 }