1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.ws.security.common;
21
22 import org.apache.ws.security.WSPasswordCallback;
23
24 import javax.security.auth.callback.Callback;
25 import javax.security.auth.callback.CallbackHandler;
26 import javax.security.auth.callback.UnsupportedCallbackException;
27 import java.io.IOException;
28 import java.util.HashMap;
29 import java.util.Map;
30
31
32
33
34
35 public class KeystoreCallbackHandler implements CallbackHandler {
36
37 private Map<String, String> users = new HashMap<String, String>();
38
39 public KeystoreCallbackHandler() {
40 users.put("wss86", "security");
41 users.put("wss40", "security");
42 users.put("wss40rev", "security");
43 users.put("16c73ab6-b892-458f-abf5-2f875f74882e", "security");
44 }
45
46 public void handle(Callback[] callbacks)
47 throws IOException, UnsupportedCallbackException {
48 for (int i = 0; i < callbacks.length; i++) {
49 if (callbacks[i] instanceof WSPasswordCallback) {
50 WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
51 pc.setPassword(users.get(pc.getIdentifier()));
52 } else {
53 throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");
54 }
55 }
56 }
57 }