I have posted this on the axis dev mailing list but reposting here as well.

Hi Colm,

Continuing the discussion from your blog's comment section [1] which I think 
it's more appropriate here.

Having access to keystore and trustore getters and setters in the Crypto class 
hierarchy is great. However it doesn't help in the case of when used in 
conjunction with Ramprt because rampart creates the Crypto instance and 
initializes it using the configuration tags in the supplied properties. It is 
unfortunate that the property bag is a Properties class because it now can 
store <String, String> data and cannot be retrofitted to hold KeyStore instance 
for example (unless someone subclass it as well and proxy the core Properties 
calls and just snap on a more generic getters/setters which is a major PIA).

My suggestion going forward, would be to convert the configuration property bag 
from Properties to HashMap<String, Object> (or just HashMap) to allow passing 
of objects to the Crypto and change Rampart correspondingly. We can keep 
existing constructors for backward compatibility. Then, once done, 
configuration tags can be added for a keystore and truststore instances to be 
passed in.

If this is something both the Rampart and WSS4J folks think is appropriate 
approach, I can submit JIRAs in both projects and help out with a patch.

George

[1] 
http://coheigea.blogspot.com/2011/01/wss4j-16-crypto-property-change.html#comments


Reply via email to