WCF-Dienst über SSL Konnte nicht hergestellt sicheren Kanal für SSL/TLS mit Autorität "test-service.hostname.com'

Ich habe ein Problem. Wir versuchen, legen ein client certifacte, um einen WCF-Dienst über SSL erforderlich. Wenn ich versuche zu navigieren, um den Dienst über einen browser wird es mir zeigen, das "Sie haben eine service-Seite" aber nur wenn ich die befestigen Sie das Zertifikat, Also ich glaube nicht, dass Ihr ein IIS-Problem.

Habe ich durch eine Tonne von stack overflow Fragen, und ich denke jedes mal, wenn ich ein wenig Fortschritt. Aber Für das Leben von mir ich kann nicht erschüttern dieses Problem. Ich Hinzugefügt die Protokollierung-und hier ist das, was ich da für Fehler:

System.Net Information: 0 : [12444] SecureChannel#15775260 - Certificate 

is of type X509Certificate2 and contains the private key.
System.Net Information: 0 : [12444] AcquireCredentialsHandle(package = Microsoft Unified Security Protocol Provider, intent  = Outbound, scc     = System.Net.SecureCredential)
System.Net Error: 0 : [12444] AcquireCredentialsHandle() failed with error 0X8009030D.
System.Net Information: 0 : [12444] AcquireCredentialsHandle(package =



Microsoft Unified Security Protocol Provider, intent  = Outbound, scc     = System.Net.SecureCredential)
System.Net Error: 0 : [12444] AcquireCredentialsHandle() failed with error 0X8009030D.
System.Net.Sockets Verbose: 0 : [8000] Socket#13431269::Dispose()
System.Net Error: 0 : [8000] Exception in HttpWebRequest#55386345:: - The request was aborted: Could not create SSL/TLS secure channel..
System.Net Error: 0 : [8000] Exception in HttpWebRequest#55386345::GetResponse - The request was aborted: Could not create SSL/TLS secure channel..
System.ServiceModel Error: 131075 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier><Description>Throwing an exception.</Description><AppDomain>/LM/W3SVC/1/ROOT/Application.TestHarness.Blah-1-130676061695261461</AppDomain><Exception><ExceptionType>System.ServiceModel.Security.SecurityNegotiationException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Could not establish secure channel for SSL/TLS with authority 'test-bolt.homesite.com'.</Message><StackTrace>   at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
   at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp;amp; msgData, Int32 type)
   at Application.TestHarness.IntegrationService.QuickQuote()

Service-Config :

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="WebBehavior">
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>

<services>
  <service name="Service.Namwe" behaviorConfiguration="WebBehavior">
    <endpoint address=""
              binding="wsHttpBinding"
              bindingConfiguration="transportSecurity"
              contract="Service.IContract"/>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
</services>
<bindings>
  <wsHttpBinding>
    <binding name="transportSecurity">
      <security mode="Transport">
        <transport clientCredentialType="Certificate"/>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

Client Config :

<system.serviceModel>
<bindings>
  <wsHttpBinding>
    <binding name="transportSecurity">
      <security mode="Transport">
        <transport clientCredentialType="Certificate"/>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<behaviors>
  <endpointBehaviors>
    <behavior name ="defaultClientCertificate">
      <clientCredentials>
        <clientCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" findValue="hostname.com"/>
      </clientCredentials>
    </behavior>
  </endpointBehaviors>
</behaviors>
<client>
  <endpoint name="boltService" behaviorConfiguration="defaultClientCertificate"
            address="https://hostname.com/Service/Integration.svc"
            binding="wsHttpBinding"
            bindingConfiguration="transportSecurity"
            contract="ServiceRef.IServiceContract" />
</client>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

Jede Beratung würde sehr geschätzt werden.

  • Nur um sicher zu gehen, wenn Sie öffnen Sie das Zertifikat-snap-in, sehen Sie das Zertifikat unter der lokalen Maschine in den persönlichen Speicher mit Namen wie konfiguriert?
  • Ja ich sehe es auf localmachine unter personal-und beim betrachten des cert ist es authentifiziert (real-cert gekauft, damit ich es nicht erstellt hast)
  • Ist das Zertifikat "erweiterte Schlüsselverwendung" festgelegt, um die client-Authentifizierung?
  • es ist sowohl für die client-Authentifizierung und server-Authentifizierung
  • Was ist der request-status, die Sie von der server-Maschine? Ist es 403? Auch gibt es einen sub-status?
  • ich bekomme nicht einen 403 bekomme ich eine Ausnahme "Die Anforderung wurde abgebrochen: es Konnte keine sichere SSL/TLS-Kanal."
  • Haben Sie einen Blick auf diese post, siehe die zweite Antwort bezüglich der endpoint-Konfiguration sieht ähnlich aus wie deins, vielleicht wird es Ihnen helfen, stackoverflow.com/questions/1742938/...
  • Ths Problem, das ich habe ist die cert die ich verwende, ist für unsere dev-Maschine. Ich habe einen host-file-Eintrag für hostname.com zu Punkt auf meiner lokalen Maschine mit meinem aktuellen IPV4-und nicht nur auf 127.0.0.1. Ich ursprünglich dachte, vielleicht ist die loop-back-Adresse wurde möglicherweise verursacht diese Probleme. Tun Antwort #2 in diesem Beitrag wurde nicht yieled alle unterschiedliche Ergebnisse

Schreibe einen Kommentar