title: WCF: The service certificate is not provided. Specify a service certificate in ServiceCredentials
body: <p>I'm trying to create a WCF service that uses the <code>MembershipProvider</code> for authentication. Because it is an internal service I'm currently not interested in applying transport level security (HTTPS) <strong>and I want to (for now) do this without a certificate</strong>. Besides, this will complicate rolling out the service and I wish to do this at a later point in time. I've built a basic configuration (even without configuring the <code>MembershipProvider</code>, but WCF keeps throwing me the following exception:</p>
  
  <blockquote>
    <p>The service certificate is not provided. Specify a service certificate
    in ServiceCredentials.</p>
  </blockquote>
  
  <p>Here's my configuration:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;system.serviceModel&gt;
    &lt;bindings&gt;
      &lt;ws2007HttpBinding&gt;
        &lt;binding name="Service1WS2007HttpBindingConfig"&gt;
          &lt;security mode="Message"&gt;
            &lt;transport clientCredentialType="None" /&gt;
            &lt;message clientCredentialType="UserName" /&gt;
          &lt;/security&gt;
        &lt;/binding&gt;
      &lt;/ws2007HttpBinding&gt;
    &lt;/bindings&gt;
    &lt;services&gt;
      &lt;service name="WcfService1.Service1"&gt;
        &lt;endpoint address="http://localhost:9800/Service1.svc"
          binding="ws2007HttpBinding"
          bindingConfiguration="Service1WS2007HttpBindingConfig"
          contract="WcfService1.IService1" /&gt;
      &lt;/service&gt;
    &lt;/services&gt;
    &lt;behaviors&gt;
      &lt;serviceBehaviors&gt;
        &lt;behavior name=""&gt;
          &lt;serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" /&gt;
          &lt;serviceDebug includeExceptionDetailInFaults="false" /&gt;
        &lt;/behavior&gt;
      &lt;/serviceBehaviors&gt;
    &lt;/behaviors&gt;
    &lt;serviceHostingEnvironment multipleSiteBindingsEnabled="false"&gt;
      &lt;serviceActivations&gt;
        &lt;add relativeAddress="Service1.svc" service="WcfService1.Service1" /&gt;
      &lt;/serviceActivations&gt;
    &lt;/serviceHostingEnvironment&gt;
  &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>Stacktrace of the exception:</p>
  
  <blockquote>
    <p>[InvalidOperationException: The service certificate is not provided.
    Specify a service certificate in ServiceCredentials. ]<br>
    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateServerX509TokenProvider()
    +12382737    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateLocalSecurityTokenProvider(RecipientServiceModelSecurityTokenRequirement
    recipientRequirement) +63<br>
    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenProvider(SecurityTokenRequirement
    requirement) +48<br>
    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoServerX509TokenProvider(RecipientServiceModelSecurityTokenRequirement
    recipientRequirement) +191<br>
    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateTlsnegoSecurityTokenAuthenticator(RecipientServiceModelSecurityTokenRequirement
    recipientRequirement, Boolean requireClientCertificate,
    SecurityTokenResolver&amp; sctResolver) +683<br>
    System.ServiceModel.Security.ServiceCredentialsSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement
    tokenRequirement, SecurityTokenResolver&amp; outOfBandTokenResolver)
    +12383208    System.ServiceModel.Security.SessionRenewSecurityTokenManager.CreateSecurityTokenAuthenticator(SecurityTokenRequirement
    tokenRequirement, SecurityTokenResolver&amp; outOfBandTokenResolver) +81<br>
    System.ServiceModel.Security.SymmetricSecurityProtocolFactory.OnOpen(TimeSpan
    timeout) +181<br>
    System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan
    timeout) +21<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan
    timeout) +94<br>
    System.ServiceModel.Channels.SecurityChannelListener`1.OnOpen(TimeSpan
    timeout) +240<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan
    timeout) +72</p>
    
    <p>[InvalidOperationException: The ChannelDispatcher at
    'http://localhost:9800/Service1.svc' with contract(s)
    '"IssueAndRenewSession"' is unable to open its IChannelListener.]<br>
    System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan
    timeout) +118<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318    System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan
    timeout) +111<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Security.SecuritySessionSecurityTokenAuthenticator.OnOpen(TimeSpan
    timeout) +131<br>
    System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan
    timeout) +21<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Security.CommunicationObjectSecurityTokenAuthenticator.Open(TimeSpan
    timeout) +20<br>
    System.ServiceModel.Security.SecuritySessionServerSettings.OnOpen(TimeSpan
    timeout) +792<br>
    System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan
    timeout) +21<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Security.SecurityListenerSettingsLifetimeManager.Open(TimeSpan
    timeout) +148<br>
    System.ServiceModel.Channels.SecurityChannelListener`1.OnOpen(TimeSpan
    timeout) +240<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan
    timeout) +72</p>
    
    <p>[InvalidOperationException: The ChannelDispatcher at
    'http://localhost:9800/Service1.svc' with contract(s) '"IService1"' is
    unable to open its IChannelListener.]<br>
    System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan
    timeout) +118<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318    System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan
    timeout) +111<br>
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
    timeout) +318<br>
    System.ServiceModel.HostingManager.ActivateService(String
    normalizedVirtualPath) +206<br>
    System.ServiceModel.HostingManager.EnsureServiceAvailable(String
    normalizedVirtualPath) +651</p>
    
    <p>[ServiceActivationException: The service '/Service1.svc' cannot be
    activated due to an exception during compilation.  The exception
    message is: The ChannelDispatcher at
    'http://localhost:9800/Service1.svc' with contract(s) '"IService1"' is
    unable to open its IChannelListener..]<br>
    System.Runtime.AsyncResult.End(IAsyncResult result) +688590<br>
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult
    result) +190<br>
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication
    context, String routeServiceVirtualPath, Boolean flowContext, Boolean
    ensureWFService) +234<br>
    System.ServiceModel.Activation.HttpModule.ProcessRequest(Object
    sender, EventArgs e) +359<br>
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    +148    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +75</p>
  </blockquote>
  
  <p>What is wrong with my configuration and how can I solve this?</p>