다음을 통해 공유


<clientCertificate> 요소의 <authentication>

서비스에서 사용하는 클라이언트 인증서에 대한 인증 동작을 지정합니다.

<구성>
   <system.serviceModel>
     <동작>
       <serviceBehaviors>
         <행동>
           <serviceCredentials>
             <clientCertificate>
               <인증>

문법

<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
                certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
                includeWindowsGroups="Boolean"
                mapClientCertificateToWindowsAccount="Boolean"
                revocationMode="NoCheck/Online/Offline"
                trustedStoreLocation="CurrentUser/LocalMachine" />

특성 및 요소

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

Attributes

특성 Description
customCertificateValidatorType 선택적 문자열입니다. 사용자 지정 형식의 유효성을 검사하는 데 사용되는 형식 및 어셈블리입니다. 이 특성은 로 설정된 certificateValidationMode경우 Custom 설정해야 합니다.
certificateValidationMode 선택적 열거형입니다. 자격 증명의 유효성을 검사하는 데 사용되는 모드 중 하나를 지정합니다. 이 특성은 형식입니다 X509CertificateValidationMode . 로 X509CertificateValidationMode.Custom설정하면 a customCertificateValidator 도 제공해야 합니다. 기본값은 X509CertificateValidationMode.ChainTrust입니다.
includeWindowsGroups 선택적 부울입니다. Windows 그룹이 보안 컨텍스트에 포함되는지를 지정합니다. 이 특성을 설정하면 true 전체 그룹 확장이 수행되므로 성능에 영향을 줍니다. 사용자가 속한 그룹 목록을 설정할 필요가 없는 경우 이 특성을 false 설정합니다.
mapClientCertificateToWindowsAccount 불리언. 인증서를 사용하여 클라이언트를 Windows ID에 매핑할 수 있는지 여부를 지정합니다. 이렇게 하려면 Active Directory를 사용하도록 설정해야 합니다.
revocationMode 선택적 열거형입니다. 취소된 RCL(인증서 목록)을 확인하는 데 사용되는 모드 중 하나입니다. 기본값은 Online입니다. HTTP 전송 보안을 사용하는 경우 이 값은 무시됩니다.
trustedStoreLocation 선택적 열거형입니다. 두 시스템 저장소 위치 중 하나: LocalMachine 또는 CurrentUser. 이 값은 서비스 인증서를 클라이언트에 협상할 때 사용됩니다. 지정된 저장소 위치에 있는 신뢰할 수 있는 사용자 저장소에 대해 유효성 검사가 수행됩니다. 기본값은 CurrentUser입니다.

customCertificateValidatorType 특성

가치 Description
String 형식 이름 및 어셈블리 및 형식을 찾는 데 사용되는 기타 데이터를 지정합니다.

certificateValidationMode 특성

가치 Description
열거 다음 값 중 하나: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

자세한 내용은 인증서 작업을 참조하세요.

revocationMode 특성

가치 Description
열거 NoCheck, Online, Offline 값 중 하나입니다. 자세한 내용은 인증서 작업을 참조하세요.

trustedStoreLocation 특성

가치 Description
열거 다음 값 중 하나: LocalMachine 또는 CurrentUser. 기본값은 CurrentUser입니다. 클라이언트 애플리케이션이 시스템 계정으로 실행 중인 경우 인증서는 일반적으로 아래에 있습니다 LocalMachine. 클라이언트 애플리케이션이 사용자 계정으로 실행되는 경우 인증서는 일반적으로 .에 있습니다 CurrentUser.

자식 요소

없음.

부모 요소

요소 Description
<클라이언트 인증서> 서비스에 클라이언트를 인증하는 데 사용되는 X.509 인증서를 정의합니다.

비고

요소는 <authentication> 클래스에 X509ClientCertificateAuthentication 해당합니다. 이를 통해 클라이언트를 인증하는 방법을 사용자 지정할 수 있습니다. certificateValidationMode 특성을 None, ChainTrust, PeerOrChainTrust, PeerTrust 또는 Custom으로 설정할 수 있습니다. 기본적으로 해당 수준은 ChainTrust로 설정되며, 이는 각 인증서가 체인 맨 위의 루트 인증 기관에서 종료되는 인증서의 계층 구조에 있어야 함을 지정합니다. 이 모드가 가장 안전한 모드입니다. 또한 값을 PeerOrChainTrust로 설정할 수 있으며, 이는 자체 발급된 인증서(신뢰 피어)가 신뢰 체인에 있는 인증서와 함께 수락됨을 지정합니다. 자체 발급 인증서를 신뢰할 수 있는 기관에서 구입할 필요 없기 때문에 클라이언트 및 서비스를 개발 및 디버깅하는 경우 이 값이 사용됩니다. 클라이언트를 배포하는 경우 ChainTrust 값을 대신 사용합니다.

또한 값을 Custom으로 설정할 수도 있습니다. Custom 값으로 설정할 경우 customCertificateValidatorType 특성도 인증서 유효성을 검사하는 데 사용되는 어셈블리 및 형식으로 설정해야 합니다. 사용자 지정 유효성 검사기를 만들려면 추상 X509CertificateValidator 클래스에서 상속해야 합니다. 자세한 내용은 방법: 사용자 지정 인증서 유효성 검사기를 사용 하는 서비스 만들기를 참조하세요.

예시

다음 코드는 요소의 X.509 인증서 및 사용자 지정 유효성 검사 유형을 <authentication> 지정합니다.

<serviceBehaviors>
  <behavior name="myServiceBehavior">
    <clientCertificate>
      <certificate findValue="www.cohowinery.com"
                   storeLocation="CurrentUser"
                   storeName="TrustedPeople"
                   x509FindType="FindByIssuerName" />
      <authentication customCertificateValidatorType="MyTypes.Coho"
                      certificateValidationMode="Custom"
                      revocationMode="Offline"
                      includeWindowsGroups="false"
                      mapClientCertificateToWindowsAccount="true" />
    </clientCertificate>
  </behavior>
</serviceBehaviors>

참고하십시오