자바 웹 서비스에서 사용하기 위해 비누 요청 (X509 인증서 포함)에 서명해야하는 상황이 있습니다. WCF의 마법을 통해 우리는 봉투를 적절하게 형성 할 수 있었고 모든 것이 표준 http보다 훌륭하게 보입니다. 그러나 일단 클라이언트가 요구하는 HTTPS로 이동하면 "SSL/TLS 보안 채널에 대한 신뢰 관계를 설정할 수 없습니다"라는 메시지가 나타납니다. 일부 설정을 조정하고 대상 도메인을 다른 알려진 것으로 변경하려고했습니다. HTTPS 사이트와 동일한 오류가 발생합니다. 아래는 고객 구성입니다. 미리 감사드립니다!HTTPS를 통한 WCF customBinding
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding
name="myCustomBinding"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00">
<textMessageEncoding
messageVersion="Soap11" />
<security
allowInsecureTransport="true"
authenticationMode="MutualCertificate"
requireDerivedKeys="false"
keyEntropyMode="ClientEntropy"
includeTimestamp="false"
securityHeaderLayout="Lax"
messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10">
<secureConversationBootstrap />
</security>
<httpsTransport />
</binding>
</customBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="wsHttpCertificateBehavior">
<clientCredentials>
<clientCertificate
findValue="MyCertName"
storeLocation="LocalMachine"
x509FindType="FindByIssuerName"/>
<serviceCertificate>
<authentication
revocationMode="NoCheck"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint
address="https://www.SomeUrl.com"
binding="customBinding"
bindingConfiguration="myCustomBinding"
behaviorConfiguration="wsHttpCertificateBehavior"
contract="ServiceReference1.ServiceTest"
name="untk48_dfSoap">
<identity>
<certificateReference findValue="MyCertName" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/>
</identity>
</endpoint>
</client>
</system.serviceModel>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
효과가 있을지 모르지만 CA 상점에 이전 인증서를 설치하지 않아도됩니다. – shambulator