1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.ldap.client.api;
22
23
24 import java.security.SecureRandom;
25
26 import javax.net.ssl.KeyManager;
27 import javax.net.ssl.TrustManager;
28 import javax.net.ssl.X509TrustManager;
29
30 import org.apache.directory.api.ldap.codec.api.BinaryAttributeDetector;
31 import org.apache.directory.api.ldap.codec.api.LdapApiService;
32 import org.apache.directory.api.util.Network;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35
36
37
38
39
40
41
42 public class LdapConnectionConfig
43 {
44
45 private static final Logger LOG = LoggerFactory.getLogger( LdapConnectionConfig.class );
46
47
48 public static final int DEFAULT_LDAP_PORT = 389;
49
50
51 public static final int DEFAULT_LDAPS_PORT = 636;
52
53
54 public static final String DEFAULT_LDAP_HOST = "localhost";
55
56
57 public static final int LDAP_V3 = 3;
58
59
60 public static final long DEFAULT_TIMEOUT = 30000L;
61
62
63 public static final String DEFAULT_SSL_PROTOCOL = "TLS";
64
65
66
67 private boolean useSsl = false;
68
69
70 private long timeout = DEFAULT_TIMEOUT;
71
72
73 private boolean useTls = false;
74
75
76 private int ldapPort;
77
78
79 private String ldapHost;
80
81
82 private String name;
83
84
85 private String credentials;
86
87
88 private KeyManager[] keyManagers;
89
90
91 private SecureRandom secureRandom;
92
93
94 private TrustManager[] trustManagers;
95
96
97 private String[] enabledCipherSuites;
98
99
100 private String[] enabledProtocols;
101
102
103 private String sslProtocol = DEFAULT_SSL_PROTOCOL;
104
105
106 private BinaryAttributeDetector binaryAttributeDetector;
107
108
109 private LdapApiService ldapApiService;
110
111
112
113
114
115 public LdapConnectionConfig()
116 {
117 setDefaultTrustManager();
118 }
119
120
121
122
123
124
125
126 private void setDefaultTrustManager()
127 {
128 trustManagers = new X509TrustManager[] { new NoVerificationTrustManager() };
129 }
130
131
132
133
134
135
136
137 public boolean isUseSsl()
138 {
139 return useSsl;
140 }
141
142
143
144
145
146
147
148 public void setUseSsl( boolean useSsl )
149 {
150 this.useSsl = useSsl;
151 }
152
153
154
155
156
157
158
159 public int getLdapPort()
160 {
161 return ldapPort;
162 }
163
164
165
166
167
168
169
170 public void setLdapPort( int ldapPort )
171 {
172 this.ldapPort = ldapPort;
173 }
174
175
176
177
178
179
180
181 public String getLdapHost()
182 {
183 return ldapHost;
184 }
185
186
187
188
189
190
191
192 public void setLdapHost( String ldapHost )
193 {
194 this.ldapHost = ldapHost;
195 }
196
197
198
199
200
201
202
203 public String getName()
204 {
205 return name;
206 }
207
208
209
210
211
212
213
214 public void setName( String name )
215 {
216 this.name = name;
217 }
218
219
220
221
222
223
224
225 public String getCredentials()
226 {
227 return credentials;
228 }
229
230
231
232
233
234
235
236 public void setCredentials( String credentials )
237 {
238 this.credentials = credentials;
239 }
240
241
242
243
244
245
246
247 public int getDefaultLdapPort()
248 {
249 return DEFAULT_LDAP_PORT;
250 }
251
252
253
254
255
256
257
258 public int getDefaultLdapsPort()
259 {
260 return DEFAULT_LDAPS_PORT;
261 }
262
263
264
265
266
267
268
269 public String getDefaultLdapHost()
270 {
271 return Network.LOOPBACK_HOSTNAME;
272 }
273
274
275
276
277
278
279
280 public long getDefaultTimeout()
281 {
282 return DEFAULT_TIMEOUT;
283 }
284
285
286
287
288
289
290
291 public long getTimeout()
292 {
293 return timeout;
294 }
295
296
297
298
299
300
301
302 public void setTimeout( long timeout )
303 {
304 this.timeout = timeout;
305 }
306
307
308
309
310
311
312
313 public int getSupportedLdapVersion()
314 {
315 return LDAP_V3;
316 }
317
318
319
320
321
322
323
324 public TrustManager[] getTrustManagers()
325 {
326 return trustManagers;
327 }
328
329
330
331
332
333
334
335 public void setTrustManagers( TrustManager... trustManagers )
336 {
337 this.trustManagers = trustManagers;
338 }
339
340
341
342
343
344
345
346 public String getSslProtocol()
347 {
348 return sslProtocol;
349 }
350
351
352
353
354
355
356
357 public void setSslProtocol( String sslProtocol )
358 {
359 this.sslProtocol = sslProtocol;
360 }
361
362
363
364
365
366
367
368 public KeyManager[] getKeyManagers()
369 {
370 return keyManagers;
371 }
372
373
374
375
376
377
378
379 public void setKeyManagers( KeyManager[] keyManagers )
380 {
381 this.keyManagers = keyManagers;
382 }
383
384
385
386
387
388
389
390 public SecureRandom getSecureRandom()
391 {
392 return secureRandom;
393 }
394
395
396
397
398
399
400
401 public void setSecureRandom( SecureRandom secureRandom )
402 {
403 this.secureRandom = secureRandom;
404 }
405
406
407
408
409
410
411
412 public String[] getEnabledCipherSuites()
413 {
414 return enabledCipherSuites;
415 }
416
417
418
419
420
421
422
423 public void setEnabledCipherSuites( String[] enabledCipherSuites )
424 {
425 this.enabledCipherSuites = enabledCipherSuites;
426 }
427
428
429
430
431
432
433
434 public String[] getEnabledProtocols()
435 {
436 return enabledProtocols;
437 }
438
439
440
441
442
443
444
445 public void setEnabledProtocols( String... enabledProtocols )
446 {
447 this.enabledProtocols = enabledProtocols;
448 }
449
450
451
452
453
454 public BinaryAttributeDetector getBinaryAttributeDetector()
455 {
456 return binaryAttributeDetector;
457 }
458
459
460
461
462
463 public void setBinaryAttributeDetector( BinaryAttributeDetector binaryAttributeDetector )
464 {
465 this.binaryAttributeDetector = binaryAttributeDetector;
466 }
467
468
469
470
471
472
473
474 public boolean isUseTls()
475 {
476 return useTls;
477 }
478
479
480
481
482
483
484
485 public void setUseTls( boolean useTls )
486 {
487 this.useTls = useTls;
488 }
489
490
491
492
493
494 public LdapApiService getLdapApiService()
495 {
496 return ldapApiService;
497 }
498
499
500
501
502
503 public void setLdapApiService( LdapApiService ldapApiService )
504 {
505 this.ldapApiService = ldapApiService;
506 }
507 }