01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */package org.apache.cxf.ws.security.wss4j;
19:
20: import java.io.IOException;
21: import java.util.HashMap;
22: import java.util.Map;
23:
24: import javax.security.auth.callback.Callback;
25: import javax.security.auth.callback.CallbackHandler;
26: import javax.security.auth.callback.UnsupportedCallbackException;
27:
28: import org.apache.ws.security.WSPasswordCallback;
29:
30: public class TestPwdCallback implements CallbackHandler {
31:
32: private static Map<String, String> passwords = new HashMap<String, String>();
33:
34: static {
35: passwords.put("myalias", "myAliasPassword");
36: }
37:
38: public void handle(Callback[] callbacks) throws IOException,
39: UnsupportedCallbackException {
40: for (int i = 0; i < callbacks.length; i++) {
41: WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
42:
43: String pass = (String) passwords.get(pc.getIdentifer());
44: if (pass != null) {
45: pc.setPassword(pass);
46: }
47: }
48: }
49: }
|