Package org.apache.ws.security

Examples of org.apache.ws.security.WSPasswordCallback


            break;
        case WSConstants.ENCR:
            reason = WSPasswordCallback.SECRET_KEY;
            break;
        }
        return new WSPasswordCallback(username, reason);
    }
View Full Code Here


            int doAction,
            String clsProp,
            String refProp,
            RequestData reqData
    ) throws WSSecurityException {
        WSPasswordCallback pwCb = null;
        Object mc = reqData.getMsgContext();
        String callback = getString(clsProp, mc);
       
        if (callback != null) {
            // we have a password callback class
            pwCb = readPwViaCallbackClass(callback, username, doAction, reqData);
        } else {
            // Try to obtain a password callback class from the message context or handler options
            CallbackHandler cbHandler = (CallbackHandler) getOption(refProp);
            if (cbHandler == null) {
                cbHandler = (CallbackHandler) getProperty(mc, refProp);
            }
            if (cbHandler != null) {
                pwCb = performCallback(cbHandler, username, doAction);
            } else {
                //
                // If a callback isn't configured then try to get the password
                // from the message context
                //
                String password = getPassword(mc);
                if (password == null) {
                    String err = "provided null or empty password";
                    throw new WSSecurityException("WSHandler: application " + err);
                }
                pwCb = constructPasswordCallback(username, doAction);
                pwCb.setPassword(password);
            }
        }
       
        return pwCb;
    }
View Full Code Here

    private WSPasswordCallback performCallback(CallbackHandler cbHandler,
            String username,
            int doAction
    ) throws WSSecurityException {

        WSPasswordCallback pwCb = constructPasswordCallback(username, doAction);
        Callback[] callbacks = new Callback[1];
        callbacks[0] = pwCb;
        /*
         * Call back the application to get the password
         */
 
View Full Code Here

            break;
        case WSConstants.ENCR:
            reason = WSPasswordCallback.KEY_NAME;
            break;
        }
        return new WSPasswordCallback(username, reason);
    }
View Full Code Here

            if (cb == null) {
                throw new WSSecurityException(WSSecurityException.FAILURE,
                        "noCallback");
            }

            WSPasswordCallback pwCb = new WSPasswordCallback(user, WSPasswordCallback.USERNAME_TOKEN);
            callbacks[0] = pwCb;
            try {
                cb.handle(callbacks);
            } catch (IOException e) {
                throw new WSSecurityException(WSSecurityException.FAILURE,
                        "noPassword",
                        new Object[]{user}, e);
            } catch (UnsupportedCallbackException e) {
                throw new WSSecurityException(WSSecurityException.FAILURE,
                        "noPassword",
                        new Object[]{user}, e);
            }
            String origPassword = pwCb.getPassword();
            if (log.isDebugEnabled()) {
                log.debug("UsernameToken callback password " + origPassword);
            }
            if (origPassword == null) {
                throw new WSSecurityException(WSSecurityException.FAILURE,
                        "noPassword", new Object[]{user});
            }
            if (nonce != null && createdTime != null) {
                String passDigest = UsernameToken.doPasswordDigest(nonce, createdTime, origPassword);
                if (!passDigest.equals(password)) {
                    throw new WSSecurityException(WSSecurityException.FAILED_AUTHENTICATION);
                }
            }
        } else if (cb != null) {
            WSPasswordCallback pwCb = new WSPasswordCallback(user, password,
                    pwType, WSPasswordCallback.USERNAME_TOKEN_UNKNOWN);
            callbacks[0] = pwCb;
            try {
                cb.handle(callbacks);
            } catch (IOException e) {
View Full Code Here

        if (cb == null) {
            throw new WSSecurityException(WSSecurityException.FAILURE,
                    "noCallback");
        }

        WSPasswordCallback callback = new WSPasswordCallback(sct
                .getIdentifier(), WSPasswordCallback.SECURITY_CONTEXT_TOKEN);
        Callback[] callbacks = new Callback[1];
        callbacks[0] = callback;
        try {
            cb.handle(callbacks);
        } catch (IOException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE, "noKey",
                    new Object[] { sct.getIdentifier() });
        } catch (UnsupportedCallbackException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE, "noKey",
                    new Object[] { sct.getIdentifier() });
        }

        return callback.getKey();
    }
View Full Code Here

        if (cb == null) {
            throw new WSSecurityException(WSSecurityException.FAILURE,
                    "noCallback");
        }

        WSPasswordCallback callback = new WSPasswordCallback(id, WSPasswordCallback.SECURITY_CONTEXT_TOKEN);
        Callback[] callbacks = new Callback[1];
        callbacks[0] = callback;
        try {
            cb.handle(callbacks);
        } catch (IOException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE, "noKey",
                    new Object[] { id });
        } catch (UnsupportedCallbackException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE, "noKey",
                    new Object[] { id });
        }

        return callback.getKey();
    }
View Full Code Here

                                          int doAction,
                                          String clsProp,
                                          String refProp,
                                          RequestData reqData)
            throws WSSecurityException {
        WSPasswordCallback pwCb = null;
        String password = null;
        CallbackHandler cbHandler = null;
  String err = "provided null or empty password";
  Object mc = reqData.getMsgContext();
        String callback = getString(clsProp, mc);
        if (callback != null) { // we have a password callback class
            pwCb = readPwViaCallbackClass(callback, username, doAction, reqData);
            if ((pwCb.getPassword() == null) && (pwCb.getKey() == null)) {
            throw new WSSecurityException("WSHandler: password callback class "
            +err);
            }
        } else if ((cbHandler = (CallbackHandler) getProperty(mc, refProp))
       != null) {
            pwCb = performCallback(cbHandler, username, doAction);
            if ((pwCb.getPassword() == null) && (pwCb.getKey() == null)) {
                throw new WSSecurityException("WSHandler: password callback "
                +err);
            }
        } else if ((password = getPassword(mc)) == null) {
            throw new WSSecurityException("WSHandler: application "+err);
        } else {
            setPassword(mc, null);
            pwCb = new WSPasswordCallback("", WSPasswordCallback.UNKNOWN);
            pwCb.setPassword(password);
        }
        return pwCb;
    }
View Full Code Here

    private WSPasswordCallback performCallback(CallbackHandler cbHandler,
                                               String username,
                                               int doAction)
            throws WSSecurityException {

        WSPasswordCallback pwCb = null;
        int reason = 0;

        switch (doAction) {
        case WSConstants.UT:
        case WSConstants.UT_SIGN:
                reason = WSPasswordCallback.USERNAME_TOKEN;
                break;
            case WSConstants.SIGN:
                reason = WSPasswordCallback.SIGNATURE;
                break;
            case WSConstants.ENCR:
                reason = WSPasswordCallback.KEY_NAME;
                break;
        }
        pwCb = new WSPasswordCallback(username, reason);
        Callback[] callbacks = new Callback[1];
        callbacks[0] = pwCb;
        /*
        * Call back the application to get the password
        */
 
View Full Code Here

        }
        if (keyName == null) {
            throw new WSSecurityException(WSSecurityException.INVALID_SECURITY,
                    "noKeyname");
        }
        WSPasswordCallback pwCb = new WSPasswordCallback(
                keyName, WSPasswordCallback.KEY_NAME);
        Callback[] callbacks = new Callback[1];
        callbacks[0] = pwCb;
        try {
            cb.handle(callbacks);
        } catch (IOException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE,
                    "noPassword",
                    new Object[]{keyName});
        } catch (UnsupportedCallbackException e) {
            throw new WSSecurityException(WSSecurityException.FAILURE,
                    "noPassword",
                    new Object[]{keyName});
        }
        byte[] decryptedData = pwCb.getKey();
        if (decryptedData == null) {
            throw new WSSecurityException(WSSecurityException.FAILURE,
                    "noPassword",
                    new Object[]{keyName});
        }
View Full Code Here

TOP

Related Classes of org.apache.ws.security.WSPasswordCallback

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.