1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.server.kerberos.shared.io.encoder;
21
22
23 import org.apache.directory.server.kerberos.shared.messages.value.HostAddress;
24 import org.apache.directory.server.kerberos.shared.messages.value.HostAddresses;
25 import org.apache.directory.shared.asn1.der.DERInteger;
26 import org.apache.directory.shared.asn1.der.DEROctetString;
27 import org.apache.directory.shared.asn1.der.DERSequence;
28 import org.apache.directory.shared.asn1.der.DERTaggedObject;
29
30
31
32
33
34
35 public class HostAddressesEncoder
36 {
37
38
39
40
41
42
43 protected static DERSequence encodeSequence( HostAddresses hosts )
44 {
45 HostAddress[] addresses = hosts.getAddresses();
46 DERSequence sequence = new DERSequence();
47
48 for ( int ii = 0; ii < addresses.length; ii++ )
49 {
50 sequence.add( encode( addresses[ii] ) );
51 }
52
53 return sequence;
54 }
55
56
57
58
59
60
61
62
63 protected static DERSequence encode( HostAddress host )
64 {
65 DERSequence sequence = new DERSequence();
66
67 sequence.add( new DERTaggedObject( 0, DERInteger.valueOf( host.getAddrType().getOrdinal() ) ) );
68 sequence.add( new DERTaggedObject( 1, new DEROctetString( host.getAddress() ) ) );
69
70 return sequence;
71 }
72 }