Megosztás a következőn keresztül:


<az alapszintűHttpBinding <üzenete>>

Meghatározza az alapszintűHttpBinding> üzenetszintű biztonsági< beállításait.

<Konfigurációs>
  <system.serviceModel>
    <Kötések>
      <alapszintűHttpBinding>
        <Kötelező>
          <Biztonsági>
            <Üzenetet>

Syntax

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

Attribútumok és elemek

A következő szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik

Attribútumok

Attribútum Leírás
algorithmSuite Beállítja az üzenettitkosítási és kulcsburkoló algoritmusokat. Ez az attribútum típusa SecurityAlgorithmSuite, amely meghatározza az algoritmusokat és a kulcsméreteket. Ezek az algoritmusok a Biztonsági házirend nyelve (WS-SecurityPolicy) specifikációban meghatározottakhoz vannak rendelve.

Az alapértelmezett érték Basic256.
clientCredentialType Megadja, hogy milyen típusú hitelesítő adatokat kell használni az ügyfél-hitelesítés üzenetalapú biztonsággal történő végrehajtásakor. A mező alapértelmezett értéke: UserName.

clientCredentialType attribútum

Érték Leírás
Felhasználónév – Megköveteli, hogy az ügyfelet UserName hitelesítő adatokkal hitelesítsék a kiszolgálón. Ezt a hitelesítő adatot az <ügyfél hitelesítő adataival> kell megadni.
- A WCF nem támogatja a jelszókivonat küldését vagy a kulcsok jelszavak használatával történő származtatását és az ilyen kulcsok használatát az üzenetbiztonság érdekében. Ezért a WCF kikényszeríti az átvitel biztonságát a UserName hitelesítő adatok használata esetén. basicHttpBindingA esetében ehhez SSL-csatornát kell beállítani.
Tanúsítvány Megköveteli, hogy az ügyfél hitelesítése a kiszolgálón tanúsítvánnyal történik. Ebben az esetben az ügyfél hitelesítő adatait a clientCredentials> és a clientCertificate használatával< kell megadni.>< Ezenkívül üzenetbiztonsági mód használatakor az ügyfelet ki kell építenie a szolgáltatástanúsítvánnyal. Ebben az esetben a szolgáltatás hitelesítő adatait osztály- vagy ClientCredentials viselkedéselem használatával ClientCredentials kell megadni, és meg kell adni a szolgáltatástanúsítványt a <serviceCertificate> használatával.

Gyermekelemek

None

Szülőelemek

Elem Leírás
<Biztonsági> Meghatározza az alapszintűHttpBinding> biztonsági képességeit<.

Példa

Ez a minta bemutatja, hogyan implementálhat egy olyan alkalmazást, amely az alapvetőHttpBinding és üzenetbiztonságot használja. A szolgáltatás következő konfigurációs példájában a végpontdefiníció az alapszintűHttpBinding paramétert adja meg, és egy nevű Binding1kötéskonfigurációra hivatkozik. A szolgáltatás által az ügyfél felé történő hitelesítéshez használt tanúsítvány a behaviors konfigurációs fájl elem alatti serviceCredentials szakaszában van beállítva. Az ügyfél által a szolgáltatásban való hitelesítéshez használt tanúsítványra érvényes érvényesítési mód az elem alatti clientCertificate szakaszban is be van állítvabehaviors.

Az ügyfélkonfigurációs fájlban ugyanazok a kötési és biztonsági adatok vannak megadva.

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

Lásd még