WCF/basicHttp是否具有可与Java客户端互操作的消息安全性?
basicHttp绑定对Java客户机非常有效,没有问题,如果我打开消息安全性,它会给Java客户机带来麻烦吗WCF/basicHttp是否具有可与Java客户端互操作的消息安全性?,wcf,x509,Wcf,X509,basicHttp绑定对Java客户机非常有效,没有问题,如果我打开消息安全性,它会给Java客户机带来麻烦吗 由于basicHttp是SOAP1.1,如果消息安全性被打开,它会使用WS-security来支持基于证书的身份验证吗 如果您希望在使用SOAP 1.1时使用基于证书的身份验证,则最好使用自定义绑定(同时考虑基于Java的客户端或oracle服务等互操作性)。AuthenticationMode将根据您的需要进行更改 例如,下面的绑定显示了服务器端和客户端上的相互证书身份验证+传输安全
由于basicHttp是SOAP1.1,如果消息安全性被打开,它会使用WS-security来支持基于证书的身份验证吗 如果您希望在使用SOAP 1.1时使用基于证书的身份验证,则最好使用自定义绑定(同时考虑基于Java的客户端或oracle服务等互操作性)。AuthenticationMode将根据您的需要进行更改 例如,下面的绑定显示了服务器端和客户端上的相互证书身份验证+传输安全性(https)
另请参考其他选项谢谢,我知道这个选项在那里,我已经测试过了,它正在与.net客户机一起工作,问题是,它是否像常规Basichtp一样简单,适用于Javabinding@TOMMYWANG-正如我指出的,在互操作性是一个问题的情况下,坚持基于证书的身份验证的自定义绑定。上述定制绑定配置确实适用于基于Java的服务和客户端。
<customBinding>
<binding name="customSSLMutualCertificate" sendTimeout="00:05:00" receiveTimeout="00:05:00">
<customTextMessageEncoding messageVersion="Soap11"/>
<security defaultAlgorithmSuite="Basic256Rsa15" authenticationMode="MutualCertificate"
requireDerivedKeys="false" securityHeaderLayout="Lax" includeTimestamp="false"
keyEntropyMode="CombinedEntropy" messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireSignatureConfirmation="false" enableUnsecuredResponse="true">
<localClientSettings cacheCookies="true" detectReplays="false"
replayCacheSize="900000" maxClockSkew="00:05:00"
maxCookieCachingTime="Infinite"
replayWindow="00:05:00" sessionKeyRenewalInterval="10:00:00"
sessionKeyRolloverInterval="00:05:00" reconnectTransportOnFailure="true"
timestampValidityDuration="00:05:00" cookieRenewalThresholdPercentage="60" />
<localServiceSettings detectReplays="true" issuedCookieLifetime="10:00:00"
maxStatefulNegotiations="128" replayCacheSize="900000" maxClockSkew="00:05:00"
negotiationTimeout="00:01:00" replayWindow="00:05:00"
inactivityTimeout="00:02:00"
sessionKeyRenewalInterval="15:00:00" sessionKeyRolloverInterval="00:05:00"
reconnectTransportOnFailure="true" maxPendingSessions="128"
maxCachedCookies="1000" timestampValidityDuration="00:05:00" />
<secureConversationBootstrap />
</security>
<httpsTransport manualAddressing="false" maxBufferPoolSize="524288"
maxReceivedMessageSize="65536" allowCookies="false"
authenticationScheme="Anonymous"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
keepAliveEnabled="true" maxBufferSize="65536"
proxyAuthenticationScheme="Anonymous"
realm="" transferMode="Buffered"
unsafeConnectionNtlmAuthentication="false"
useDefaultWebProxy="true" requireClientCertificate="false"/>
</binding>
</customBinding>