<clientCertificate> 요소의 <certificate>

메시지 서명 및 암호화에 사용되는 X.509 인증서를 지정합니다.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceCredentials>
            <clientCertificate>
              <certificate>

구문

<certificate findValue="String"
             storeLocation = "CurrentUser/LocalMachine"
             storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
             X509FindType="FindByThumbPrint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier" />

특성 및 요소

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

특성

attribute Description
findValue X.509 인증서 저장소에서 검색할 값을 포함하는 문자열입니다. 이 특성에 포함된 형식은 지정된 X509FindType에 대한 요구 사항을 충족해야 합니다. 기본값은 빈 문자열입니다.
storeLocation 클라이언트가 서버 인증서의 유효성을 검사하는 데 사용하는 X.509 인증서 저장소 위치를 지정합니다. 유효한 값은 다음과 같습니다.

- LocalMachine: 로컬 시스템에 할당된 인증서 저장소입니다.
- CurrentUser: 현재 사용자에게 할당된 인증서 저장소입니다.

기본값은 LocalMachine입니다.
storeName 열려는 X.509 인증서 저장소의 이름을 지정합니다. 유효한 값은 다음과 같습니다.

- AddressBook: 다른 사용자용 인증서 저장소입니다.
- AuthRoot: 제3의 CA(인증 기관)용 인증서 저장소입니다.
- CertificationAuthority: 중개 CA(인증 기관)용 인증서 저장소입니다.
- Disallowed: 해지된 인증서용 인증서 저장소입니다.
- My: 개인 인증서용 인증서 저장소입니다.
- Root: 신뢰할 수 있는 루트 CA(인증 기관)용 인증서 저장소입니다.
- TrustedPeople: 직접 신뢰할 수 있는 사람 및 리소스용 인증서 저장소입니다.
- TrustedPublisher: 직접 신뢰할 수 있는 게시자용 인증서 저장소입니다.

기본값은 My입니다.
X509FindType 실행할 X.509 검색의 유형을 정의합니다. 유효한 값은 다음과 같습니다.

- FindByThumbPrint
- FindBySubjectName
- FindBySubjectDistinguishedName
- FindByIssuerName
- FindByIssuerDistinguishedName
- FindBySerialNumber
- FindByTimeValid
- FindByTimeNotYetValid
- FindByTemplateName
- FindByApplicationPolicy
- FindByCertificatePolicy
- FindByExtension
- FindByKeyUsage
- FindBySubjectKeyIdentifier

findValue 특성에 포함된 형식은 지정된 X509FindType에 대한 요구 사항을 충족해야 합니다.

기본값은 FindBySubjectDistinguishedName입니다.

자식 요소

없음

부모 요소

요소 Description
<clientCertificate>

설명

서비스가 클라이언트와 안전하게 통신하기 위해 클라이언트의 인증서가 필요한 경우 <certificate> 요소를 사용합니다. 이는 양방향 통신 패턴을 사용하는 경우 발생합니다. 대부분의 일반적인 요청/응답 패턴의 경우 클라이언트는 요청 시 서비스가 클라이언트에게 해당 응답을 암호화 및 서명하는 데 사용하는 인증서를 포함합니다. 그러나 이중 통신 패턴에서는 서비스에 클라이언트의 요청이 없으므로 클라이언트에게 보내는 메시지 보안을 위해 클라이언트의 인증서가 사전에 필요합니다. 따라서 클라이언트 인증서를 out-of-band 협상 방식으로 가져와서 이 요소를 사용하여 인증서를 지정해야 합니다. 이중 서비스에 대한 자세한 내용은 방법: 이중 계약 만들기를 참조하세요.

예제

다음 코드에서는 적절한 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>

참고 항목