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
