Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF/basicHttp是否具有可与Java客户端互操作的消息安全性?_Wcf_X509 - Fatal编程技术网

WCF/basicHttp是否具有可与Java客户端互操作的消息安全性?

WCF/basicHttp是否具有可与Java客户端互操作的消息安全性?,wcf,x509,Wcf,X509,basicHttp绑定对Java客户机非常有效,没有问题,如果我打开消息安全性,它会给Java客户机带来麻烦吗 由于basicHttp是SOAP1.1,如果消息安全性被打开,它会使用WS-security来支持基于证书的身份验证吗 如果您希望在使用SOAP 1.1时使用基于证书的身份验证,则最好使用自定义绑定(同时考虑基于Java的客户端或oracle服务等互操作性)。AuthenticationMode将根据您的需要进行更改 例如,下面的绑定显示了服务器端和客户端上的相互证书身份验证+传输安全

basicHttp绑定对Java客户机非常有效,没有问题,如果我打开消息安全性,它会给Java客户机带来麻烦吗


由于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>