Aracılığıyla paylaş


WS Taşıma Güvenliği

wsTransportSecurity örneği, WSHttpBinding bağlantısıyla SSL aktarım güvenliğinin nasıl kullanılacağını gösterir. Varsayılan olarak, wsHttpBinding bağlama HTTP iletişimi sağlar. Aktarım güvenliği için yapılandırıldığında bağlama HTTPS iletişimini destekler. Bu örnek, hesap makinesi hizmeti uygulayan Getting Started'a dayanmaktadır. wsHttpBinding, istemci ve hizmet için uygulama yapılandırma dosyalarında belirtilir ve yapılandırılır.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda bulunur.

Örnekteki program kodu , Başlarken hizmetinin koduyla aynıdır. Örneği oluşturup çalıştırmadan önce bir sertifika oluşturup Web Sunucusu Sertifika Sihirbazı'nı kullanarak atamalısınız. Yapılandırma dosyası ayarlarındaki uç nokta tanımı ve bağlama tanımı, istemci için aşağıdaki örnek yapılandırmada gösterildiği gibi güvenlik modunu etkinleştirir Transport .

<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>

Belirtilen adres şemayı https:// kullanır. Bağlama yapılandırması, güvenlik modunu olarak Transportayarlar. Hizmetin Web.config dosyasında aynı güvenlik modu belirtilmelidir.

Bu örnekte kullanılan sertifika Makecert.exeile oluşturulmuş bir test sertifikası olduğundan tarayıcınızdan https: adresi gibi https://localhost/servicemodelsamples/service.svcbir https: adresine erişmeye çalıştığınızda bir güvenlik uyarısı görüntülenir. Windows Communication Foundation (WCF) istemcisinin yerinde bir test sertifikasıyla çalışmasına izin vermek için, güvenlik uyarısını engellemek için istemciye bazı ek kodlar eklenmiştir. Bu kod ve eşlik eden sınıf, üretim sertifikaları kullanılırken gerekli değildir.

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

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. İstemciyi kapatmak için istemci penceresinde ENTER tuşuna basın.

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.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Aşağıdaki komutu kullanarak ASP.NET 4.0'ı yükleyin.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

  3. Internet Information Services (IIS) Sunucu Sertifikası Yükleme Yönergelerini gerçekleştirdiğinizden emin olun.

  4. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  5. Örneği tek bir makine veya makineler arası bir yapılandırmada çalıştırmak için, Windows Communication Foundation örneklerini çalıştırmayönergelerini izleyin.