Hi All:
I've finally hacked together a configuration of the STSClient that works
with our partner's almost-compliant implementation.
I'm trying to make it "reasonable" now, and one thing I'm stuck on is
how to change WSSConfig values.
In particular, I have had to replace the UsernameTokenSignedAction
because I need to add:
reqData.getWssConfig().setPrecisionInMilliSeconds(false);
(I need to turn off milliseconds, because I'm using the code which
generates a secret key from a UsernameToken for signing, and the
partner's key is generated with a wsu:Created that does not include
milliseconds in the timestamp value, see:
org.apache.ws.security.message.token.UsernameToken.java:684)
Unlike the dozens of other things I have tweaked by setting properties
on the bus/client, the values in the WSSConfig seem to be buried quite
deep in the implementation.
It looks like the WSSConfig instance gets created with defaults at
WSS4JOutInterceptor.java:177, and there is no way to override the
defaults, and no way to apply properties to the created WSSConfig object.
Is there a spring-y or other programmatic way to configure this that I
have missed?
--
Thanks,
David Mansfield
Cobite, INC.