Okay thanks. This is a first step. My problem lies in the fact that the action is not Username_token, but timestap signature
best regards, Ted 2013/5/15 Ted <[email protected]> > Not sure if this is the official way or not, but this is how I do it : > > AccountWsService service = new AccountWsService("...")); > port = service.getAccountWsPort(); > > Client cxfClient = ClientProxy.getClient(port); > cxfClient.getOutInterceptors().add(new > AuthenticationOutWSS4JInterceptor(user, password)); > > where AuthenticationOutWSS4JInterceptor looks a little like : > > public class AuthenticationOutWSS4JInterceptor extends > WSS4JOutInterceptor implements CallbackHandler > { > private String password = null; > > /** > * @param user can be userId or userName, all depends on > what the > received requires > * @param password can be password or securityToken, all > depends on > what the received requires > */ > public AuthenticationOutWSS4JInterceptor(Object user, > String password) > { > this.password = password; > > HashMap<String, Object> properties = new > HashMap<String, Object>(); > properties.put(WSHandlerConstants.ACTION, > WSHandlerConstants.USERNAME_TOKEN); > properties.put(WSHandlerConstants.USER, > user.toString()); > properties.put(WSHandlerConstants.PASSWORD_TYPE, > WSConstants.PW_TEXT); > properties.put(WSHandlerConstants.PW_CALLBACK_REF, > this); > > setProperties(properties); > } > > @Override > public void handle(Callback[] callbacks) throws > IOException, > UnsupportedCallbackException > { > for (Callback callback : callbacks) > { > if (callback instanceof WSPasswordCallback) > { > WSPasswordCallback > wsPasswordCallback = (WSPasswordCallback)callback; > > wsPasswordCallback.setPassword(password); > } > } > } > } > > On 5/14/13, Ted Roeloffzen <[email protected]> wrote: > > Good day all, > > > > At this moment I'm working on a webservice-client that has to use > > WS-Security, but i can't seem to figure out how configure CXF that it > fills > > the SOAP-header in the correct way. > > We don't use Spring for the configuration, so everything has to be > > configured via the API. > > > > We need to have a timestamp, a signature and also a binary security > token. > > The Canonicalization-algorithm is xml-exc-c14 > > The signature-algorithm is RSA-SHA256 > > > > can someone point me in the right direction for this? > > > > I've already created a WSS4JInInterceptor and a WSS4JOutInterceptor. > > Both with a properties-map containing an Action = Timestap Signature, > > signatureAlgorithm = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" > > and signatureDigestAlgorithm = "http://www.w3.org/2001/04/xmlenc#sha256" > > > > do I need to configure anymore other than adding a certificate to the > > keystore? > > > > thanks in advance. > > > > kind regards, > > > > Ted > > > > > -- > Ted. >
