WS-TransportsicherheitWS Transport Security

Im folgenden Beispiel wird die Verwendung der SSL-Transportsicherheit mit der WSHttpBinding-Bindung veranschaulicht.This sample demonstrates the use of SSL transport security with the WSHttpBinding binding. Standardmäßig bietet die wsHttpBinding-Bindung HTTP-Kommunikation.By default, the wsHttpBinding binding provides HTTP communication. Wenn die Bindung für Transportsicherheit konfiguriert ist, unterstützt sie HTTPS-Kommunikation.When configured for transport security, the binding supports HTTPS communication. Dieses Beispiel basiert auf der Einstieg , implementiert einen rechnerdienst.This sample is based on the Getting Started that implements a calculator service. Die wsHttpBinding wird in den Anwendungskonfigurationsdateien für den Client und den Dienst angegeben und konfiguriert.The wsHttpBinding is specified and configured in the application configuration files for the client and service.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The set-up procedure and build instructions for this sample are located at the end of this topic.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Binding\WS\wsTransportSecurity

Die Programm-Codes in diesem Beispiel ist identisch mit der Einstieg Dienst.The program code in the sample is identical to that of the Getting Started service. Sie müssen ein Zertifikat erstellen und es mithilfe des Assistenten für Webserverzertifikate zuweisen, bevor Sie das Beispiel erstellen und ausführen.You must create a certificate and assign it by using the Web Server Certificate Wizard before building and running the sample. Durch die Endpunktdefinition und Bindungsdefinition in den Einstellungen der Konfigurationsdatei wird der Transport-Sicherheitsmodus aktiviert, wie in der folgenden Beispielkonfiguration für den Client dargestellt.The endpoint definition and binding definition in the configuration file settings enable Transport security mode, as shown in the following sample configuration for the client.

<system.serviceModel>  

    <client>  
      <!-- this endpoint has an https: address -->  
      <endpoint address="https://localhost/servicemodelsamples/service.svc" binding="wsHttpBinding" bindingConfiguration="Binding1" contract="Microsoft.Samples.TransportSecurity.ICalculator"/>  
    </client>  

    <bindings>  
      <wsHttpBinding>  
        <!-- configure wsHttpbinding with Transport security mode  
                   and clientCredentialType as None -->  
        <binding name="Binding1">  
          <security mode="Transport">  
            <transport clientCredentialType="None"/>  
          </security>  
        </binding>  
      </wsHttpBinding>  
    </bindings>  

  </system.serviceModel>  

Für die angegebene Adresse wird das https:// Schema verwendet.The address specified uses the https:// scheme. Die Bindungskonfiguration legt den Sicherheitsmodus auf Transport fest.The binding configuration sets the security mode to Transport. Der gleiche Sicherheitsmodus muss in der Datei "Web.config" für den Dienst angegeben werden.The same security mode must be specified in the service's Web.config file.

Da die in diesem Beispiel verwendete Zertifikat ein mit Makecert.exe erstelltes Testzertifikat ist, wird eine sicherheitswarnung angezeigt, wenn Sie versuchen, eine Https-Zugriff: Adresse, z. B. https://localhost/servicemodelsamples/service.svc, in Ihrem Browser.Because the certificate used in this sample is a test certificate created with Makecert.exe, a security alert appears when you try to access an https: address, such as https://localhost/servicemodelsamples/service.svc, from your browser. Damit wird den Windows Communication Foundation (WCF)-Client mit einem vorhandenen Testzertifikat arbeiten, wurde an den Client, um die sicherheitswarnung zu unterdrücken zusätzlicher Code hinzugefügt.To allow the Windows Communication Foundation (WCF) client to work with a test certificate in place, some additional code has been added to the client to suppress the security alert. Dieser Code und die begleitende Klasse sind bei der Verwendung von Produktionszertifikaten nicht erforderlich.This code, and the accompanying class, is not required when using production certificates.

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

Wenn Sie das Beispiel ausführen, werden die Anforderungen und Antworten für den Vorgang im Clientkonsolenfenster angezeigt.When you run the sample, the operation requests and responses are displayed in the client console window. Drücken Sie im Clientfenster die EINGABETASTE, um den Client zu schließen.Press ENTER in the client window to shut down the client.

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.  

So können Sie das Beispiel einrichten, erstellen und ausführenTo set up, build, and run the sample

  1. Installieren Sie ASP.NETASP.NET 4.0 mithilfe des folgenden Befehls.Install ASP.NETASP.NET 4.0 using the following command.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable  
    
  2. Stellen Sie sicher, dass Sie ausgeführt haben die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  3. Stellen Sie sicher, dass Sie ausgeführt haben die Installationsanweisungen für Internetinformationsdienste (Internet Information Services, IIS) Server Zertifikat.Ensure that you have performed the Internet Information Services (IIS) Server Certificate Installation Instructions.

  4. Um die C#- oder Visual Basic .NET-Edition der Projektmappe zu erstellen, befolgen Sie die unter Building the Windows Communication Foundation Samplesaufgeführten Anweisungen.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  5. Um das Beispiel in einer einzelnen oder computerübergreifenden Konfiguration ausführen möchten, folgen Sie den Anweisungen Ausführen der Windows Communication Foundation-Beispiele.To run the sample in a single- or cross-machine configuration, follow the instructions in Running the Windows Communication Foundation Samples.

Siehe auchSee Also