Delen via


BasicBinding met transportbeveiliging

In het voorbeeld TransportSecurity wordt het gebruik van SSL-transportbeveiliging met de basisbinding gedemonstreert. Dit voorbeeld is gebaseerd op de Aan de slag die een rekenmachineservice implementeert.

Voorbeeldgegevens

Standaard biedt de basisbinding ondersteuning voor HTTP-communicatie. In het voorbeeld ziet u hoe u transportbeveiliging inschakelt voor de basisbinding. Voordat u het voorbeeld uitvoert, moet u een certificaat maken en toewijzen met behulp van de wizard Webservercertificaat.

Opmerking

De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.

De programmacode in het voorbeeld is identiek aan die van de Aan de slag-service . De definitie van het eindpunt en de bindingsdefinitie in de instellingen voor het configuratiebestand worden gewijzigd om beveiligde communicatie mogelijk te maken, zoals wordt weergegeven in de volgende voorbeeldconfiguratie.

<system.serviceModel>
  <services>
    <service type="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <endpoint address=""
                binding="basicHttpBinding"
                bindingConfiguration="Binding1"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
   </services>
  <bindings>
    <basicHttpBinding>
      <!-- Configure basicHttpBinding with Transport security -->
      <!-- mode and clientCredentialType set to None. -->
      <binding name="Binding1">
        <security mode="Transport">
          <transport clientCredentialType="None"/>
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
</system.serviceModel>

Omdat het certificaat dat in dit voorbeeld wordt gebruikt, een testcertificaat is dat is gemaakt met Makecert.exe, wordt er een beveiligingswaarschuwing weergegeven wanneer u probeert toegang te krijgen tot een HTTPS: adres in uw browser, zoals https://localhost/servicemodelsamples/service.svc. Om de WCF-client (Windows Communication Foundation) met een testcertificaat te laten werken, wordt er extra code toegevoegd aan de client om de beveiligingswaarschuwing te onderdrukken. Deze code en de bijbehorende klasse zijn niet nodig bij het gebruik van echte certificaten.

// This code is required only for test certificates such as those
// created by Makecert.exe.
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");

Wanneer u het voorbeeld uitvoert, worden de bewerkingsaanvragen en -antwoorden weergegeven in het clientconsolevenster. Druk op Enter in het clientvenster om de client af te sluiten.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Het voorbeeld instellen, compileren en uitvoeren

  1. Installeer ASP.NET 4.0 met de volgende opdracht:

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Zorg ervoor dat u de One-Time Setup Procedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.

  3. Zorg ervoor dat u de installatie-instructies voor iis-servercertificaten (Internet Information Services) hebt uitgevoerd.

  4. Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in Het bouwen van de Windows Communication Foundation-voorbeelden.

  5. Als u het voorbeeld wilt uitvoeren in een configuratie met één of meerdere computers, volgt u de instructies in Windows Communication Foundation-voorbeelden uitvoeren.