Я думаю, что вы можете программно загрузить хранилище ключей, используя KeyStore.Builder:
http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.Builder.html#newInstance%28java.lang.String,%20java.security.Provider,%20java.io.File,%20java.security.KeyStore.ProtectionParameter%29
Так что, возможно, есть класс, который имеет шаблон веб-сервиса или расширяет его, затем задайте путь к файлу хранилища ключей в нем в вашей конфигурации Spring и сделайте его начальным компонентом (@PostConstruct в Spring 3?), Который затем загружает хранилище ключей .
File f = new File(keyStorePath);
KeyStore.Builder builder = KeyStore.Builder.newInstance("type",provider,file,protection);
KeyStore keystore = builder.getKeyStore();
Хорошо - чтобы фактически использовать его с вашим webservicetemplate, я думаю, что он должен быть основан на обратном вызове хранилища ключей, как описано здесь: http://static.springsource.org/spring-ws/sites/1.5/reference/html/security.html#d0e4462
Или, может быть, с помощью пружины org.springframework.ws.transport.http.HttpsUrlConnectionMessageSender, для которой вы можете установить keystoremanager. Тогда это может быть использовано вашим webservicetemplate.
Немного похоже на это:
<bean id="template" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="messageSender">
<bean class="org.springframework.ws.transport.http.HttpsUrlConnectionMessageSender">
<property name=""></property>
</bean>
</property>
</bean>
НТН