<<temelHttpBinding iletisi>>
TemelHttpBinding'in> ileti düzeyi güvenliğine yönelik< ayarları tanımlar.
<Yapılandırma>
<system.serviceModel>
<Bağlama>
<basicHttpBinding>
<Bağlama>
<Güvenlik>
<İleti>
Syntax
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="UserName/Certificate" />
Öznitelikler ve Öğeler
Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler açıklanmaktadır
Öznitelikler
Öznitelik | Açıklama |
---|---|
algorithmSuite | İleti şifrelemesini ve anahtar sarmalama algoritmalarını ayarlar. Bu öznitelik, algoritmaları ve anahtar boyutlarını belirten türündedir SecurityAlgorithmSuite. Bu algoritmalar, Güvenlik İlkesi Dili (WS-SecurityPolicy) belirtiminde belirtilenlerle eşler.Basic256 varsayılan değerdir. |
clientCredentialType | İleti tabanlı güvenlik kullanılarak istemci kimlik doğrulaması yapılırken kullanılacak kimlik bilgilerinin türünü belirtir. Varsayılan değer: UserName . |
clientCredentialType Özniteliği
Değer | Açıklama |
---|---|
UserName | - İstemcinin sunucuda UserName kimlik bilgileriyle kimliğinin doğrulanması gerekir. Bu kimlik bilgilerinin clientCredentials> kullanılarak< belirtilmesi gerekir. - WCF, parola özeti göndermeyi veya parola kullanarak anahtar türetme ve ileti güvenliği için bu tür anahtarları kullanmayı desteklemez. Bu nedenle WCF, UserName kimlik bilgileri kullanılırken aktarım güvenliğinin sağlanmasını zorlar. basicHttpBinding için bunun için bir SSL kanalı ayarlanması gerekir. |
Sertifika | İstemcinin bir sertifika kullanarak sunucuda kimliğinin doğrulanması gerekir. Bu durumda istemci kimlik bilgilerinin clientCredentials> ve clientCertificate kullanılarak< belirtilmesi gerekir.>< Ayrıca, ileti güvenlik modu kullanılırken istemcinin hizmet sertifikasıyla sağlanması gerekir. Bu durumda hizmet kimlik bilgilerinin sınıf veya ClientCredentials davranış öğesi kullanılarak ClientCredentials ve serviceCertificate> kullanılarak hizmet sertifikasını< belirterek belirtilmesi gerekir. |
Alt Öğeler
Hiçbiri
Üst Öğeler
Öğe | Açıklama |
---|---|
<Güvenlik> | TemelHttpBinding> için< güvenlik özelliklerini tanımlar. |
Örnek
Bu örnek, temelHttpBinding ve ileti güvenliğini kullanan bir uygulamanın nasıl uygulandığını gösterir. Bir hizmet için aşağıdaki yapılandırma örneğinde uç nokta tanımı temelHttpBinding'i belirtir ve adlı Binding1
bağlama yapılandırmasına başvurur. Hizmetin istemcide kimliğini doğrulamak için kullandığı sertifika, öğesinin behaviors
altındaki serviceCredentials
yapılandırma dosyasının bölümünde ayarlanır. İstemcinin hizmette kimliğini doğrulamak için kullandığı sertifikaya uygulanan doğrulama modu da öğesinin behaviors
altındaki clientCertificate
bölümünde ayarlanır.
İstemci yapılandırma dosyasında aynı bağlama ve güvenlik ayrıntıları belirtilir.
<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>