<zpráva> basicHttpBinding <>

Definuje nastavení zabezpečení <na úrovni zpráv basicHttpBinding>.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <basicHttpBinding>
        <Vazba>
          <Zabezpečení>
            <Zprávu>

Syntax

<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
         clientCredentialType="UserName/Certificate" />

Atributy a elementy

Následující části popisují atributy, podřízené elementy a nadřazené prvky.

Atributy

Atribut Popis
algorithmSuite Nastaví algoritmy šifrování zpráv a obtékání klíčů. Tento atribut je typu SecurityAlgorithmSuite, který určuje algoritmy a velikosti klíčů. Tyto algoritmy se mapují na algoritmy zadané ve specifikaci WS-SecurityPolicy (Security Policy Language).

Výchozí hodnota je Basic256.
clientCredentialType Určuje typ přihlašovacích údajů, které se mají použít při ověřování klienta pomocí zabezpečení na základě zpráv. Výchozí formát je UserName.

clientCredentialType – atribut

Hodnota Popis
Uživatelské jméno – Vyžaduje ověření klienta na serveru pomocí přihlašovacích údajů UserName. Tyto přihlašovací údaje je potřeba zadat pomocí <clientCredentials>.
– WCF nepodporuje odesílání hodnot hesel nebo odvozování klíčů pomocí hesel a používání takových klíčů pro zabezpečení zpráv. Proto WCF vynucuje, aby přenos byl zabezpečený při použití přihlašovacích údajů UserName. basicHttpBindingU nástroje to vyžaduje nastavení kanálu SSL.
Certifikát Vyžaduje ověření klienta na serveru pomocí certifikátu. Přihlašovací údaje klienta je v tomto případě potřeba zadat pomocí <clientCredentials> a <clientCertificate>. Kromě toho je při použití režimu zabezpečení zpráv potřeba zřídit klienta s certifikátem služby. Přihlašovací údaje služby v tomto případě je třeba zadat pomocí ClientCredentials elementu třídy nebo ClientCredentials chování a zadat certifikát služby pomocí <serviceCertificate>.

Podřízené elementy

Žádné

Nadřazené elementy

Element Popis
<Zabezpečení> Definuje možnosti zabezpečení pro <basicHttpBinding>.

Příklad

Tato ukázka ukazuje, jak implementovat aplikaci, která používá základníhttpbinding a zabezpečení zpráv. V následujícím příkladu konfigurace pro službu určuje definice koncového bodu basicHttpBinding a odkazuje na konfiguraci vazby s názvem Binding1. Certifikát, který služba používá k ověření klienta, se nastaví v behaviors části konfiguračního souboru v elementu serviceCredentials . Režim ověřování, který se vztahuje na certifikát, který klient používá k ověření ve službě, je také nastaven v behaviors části pod elementem clientCertificate .

Stejné podrobnosti o vazbě a zabezpečení jsou zadané v konfiguračním souboru klienta.

<system.serviceModel>
  <services>
    <service name="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
        </baseAddresses>
      </host>
      <!-- this endpoint is exposed at the base address provided by host: http://localhost:8000/ServiceModelSamples/service -->
      <endpoint address=""
                binding="basicHttpBinding"
                bindingConfiguration="Binding1"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
      <!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex -->
      <endpoint address="mex"
                binding="mexHttpBinding"
                contract="IMetadataExchange" />
    </service>
  </services>
  <bindings>
    <basicHttpBinding>
    <!-- This configuration defines the SecurityMode as Message and
         the clientCredentialType as Certificate. -->
      <binding name="Binding1">
        <security mode = "Message">
          <message clientCredentialType="Certificate" />
        </security>
      </binding>
    </basicHttpBinding>
  </bindings>
  <!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
  <behaviors>
    <serviceBehaviors>
      <behavior name="CalculatorServiceBehavior">
        <serviceMetadata httpGetEnabled="True" />
        <serviceDebug includeExceptionDetailInFaults="False" />
        <!-- The serviceCredentials behavior allows one to define a service certificate.
             A service certificate is used by a client to authenticate the service and provide message protection.
             This configuration references the "localhost" certificate installed during the setup instructions. -->
        <serviceCredentials>
          <serviceCertificate findValue="localhost"
                              storeLocation="LocalMachine"
                              storeName="My"
                              x509FindType="FindBySubjectName" />
          <clientCertificate>
            <!-- Setting the certificateValidationMode to PeerOrChainTrust means that if the certificate
               is in the user's Trusted People store, then it will be trusted without performing a
               validation of the certificate's issuer chain. This setting is used here for convenience so that the
               sample can be run without having to have certificates issued by a certification authority (CA).
               This setting is less secure than the default, ChainTrust. The security implications of this
               setting should be carefully considered before using PeerOrChainTrust in production code. -->
            <authentication certificateValidationMode="PeerOrChainTrust" />
          </clientCertificate>
        </serviceCredentials>
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

Viz také