1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.wss4j.stax.test;
20
21 import javax.security.auth.callback.CallbackHandler;
22 import javax.security.auth.callback.UnsupportedCallbackException;
23
24 import org.apache.wss4j.common.ext.WSPasswordCallback;
25
26 import java.io.IOException;
27
28 public class WSS4JCallbackHandlerImpl implements CallbackHandler {
29
30 private byte[] secret;
31
32 public WSS4JCallbackHandlerImpl() {
33 }
34
35 public WSS4JCallbackHandlerImpl(byte[] secret) {
36 this.secret = secret;
37 }
38
39 @Override
40 public void handle(javax.security.auth.callback.Callback[] callbacks) throws IOException, UnsupportedCallbackException {
41 WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
42
43
44 if ("wss40rev".equals(pc.getIdentifier())) {
45 pc.setPassword("security");
46 } else {
47 pc.setPassword("default");
48 }
49
50
51
52
53 if (pc.getUsage() == WSPasswordCallback.SECRET_KEY ||
54 pc.getUsage() == WSPasswordCallback.SECURITY_CONTEXT_TOKEN) {
55 pc.setKey(secret);
56 }
57 }
58 }