<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. basicHttpBinding U 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>