在我的SOAP网络服务中,我们同意主体已签名。为此,我使用Spring,配置如下:
<bean class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor" id="wsSecurityInterceptor">
<property name="validationActions" value="Timestamp Signature"/>
<property name="timestampStrict" value="true"/>
<property name="validationSignatureCrypto">
<bean class="org.springframework.ws.soap.security.wss4j.support.CryptoFactoryBean">
<property name="configuration">
<props>
<prop key="org.apache.ws.security.crypto.merlin.keystore.type">JKS</prop>
<prop key="org.apache.ws.security.crypto.merlin.file">${ws.security.truststore.location}</prop>
<prop key="org.apache.ws.security.crypto.merlin.keystore.password">${ws.security.truststore.password}</prop>
</props>
</property>
</bean>
</property>
</bean>
但是现在,我还要求检查时间戳是否正确签名。
当我阅读Spring's documentation on the matter时,我可以看到如何签署时间戳,但没有提到如何验证时间戳签名。
所以任何人都知道我该怎么做?
如果有任何迹象,我会使用org.springframework.ws:spring-ws-core:2.1.2.RELEASE
。