Hello,
I am new to rampart and axis in general so I dont know if this is possible
at all or not. The problem I have is that we have a custom keystore (not
using java key store) that we have an api to talk to. When specifying the
rampart config, specifically the keystore file in signaturecrypto, I have
to get the keystore from the api. So far all examples I have seen require
you to specify the keystore file and I dont have that. The api that I have
to use gives me a java.security.KeyStore Object and I want to know if there
is anyway I can specify that instead of the file. If I have to extend any
class and then use that instead of course that can be done, but I just
don't know where to start which file/method to override and so on .
Following is some sample of how I am specifying the rampart configuration :
RampartConfig rampartConfig = new RampartConfig();
rampartConfig.setUser("c1");
rampartConfig.setPwCbClass("custom.PasswordCallbackHandler");
CryptoConfig sigCrypto = new CryptoConfig();
sigCrypto.setProvider("org.apache.ws.security.components.crypto.Merlin");
Properties props = new Properties();
props.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "JKS");
props.setProperty("org.apache.ws.security.crypto.merlin.file","c:/keys/client.ks");
<---
Notice the file has to be specified here. This has to change
props.setProperty("org.apache.ws.security.crypto.merlin.keystore.password",
"client-ks-pass");
sigCrypto.setProp(props);
rampartConfig.setSigCryptoConfig(sigCrypto);
Policy policy = new Policy();
policy.addAssertion(rampartConfig);
Any help in this regard is greatly appreciated.
Thanks in advance,
Adil