您可以通过编程方式更改SecurityTokenService的AlgorithmSuite吗?

时间:2019-12-10 09:31:37

标签: java java-metro-framework sts-securitytokenservice wsit

我必须使用文档中包含以下代码段的服务:

  

...您可能需要发布会更改的更新   配置的STS URL到v1.3生产端点,将STS上的AlgorithmSuite绑定到SecurityAlgorithmSuite.Basic256Sha256Rsa15

这是我的请求方式:

IService service = new Service(new URL(getServiceWSDL())).getWS2007FederationHttpBindingIService();

((WSBindingProvider) service).getRequestContext().put(CERTIFICATE_PROPERTY, getCertificate());
((WSBindingProvider) service).getRequestContext().put(PRIVATEKEY_PROPERTY, getPrivateKey());
((WSBindingProvider) service).getRequestContext().put(STS_NAMESPACE, getSTSNamespace());
((WSBindingProvider) service).getRequestContext().put(STS_PORT_NAME, getSTSPortName());
((WSBindingProvider) service).getRequestContext().put(STS_SERVICE_NAME, getSTSServiceName());
((WSBindingProvider) service).getRequestContext().put(STS_ENDPOINT, getSTSEndpoint());
((WSBindingProvider) service).getRequestContext().put(STS_WSDL_LOCATION, getSTSWDSLLocation());

service.operation(...);

当请求执行时,它首先使用STS进行身份验证,然后执行实际的请求。如何更改请求的STS部分的AlgorithmSuite?

我尝试在STS的WSDL中声明它,但我认为请求实际上没有使用该WSDL加载任何东西。

1 个答案:

答案 0 :(得分:0)

您无法通过编程方式进行更改。如果必须更改它,则必须在WSDL加载之前对其进行修改。我只是手动修改了我正在使用的实际WSDL,但是您可以通过编程来做到这一点。