ClientCertificate

ClientCertificate 컬렉션에는 클라이언트 브라우저에 의해 웹 서버로 전달되는 보안 인증서의 키와 값 필드가 유지됩니다. 이 필드는 공개 키 인증서에 대해 X.509 버전 3 표준으로 지정됩니다. X.509는 공식 표준이 아니므로, 인증 기관에서 받은 인증서와의 차이점에 대한 알림 메시지가 표시됩니다. X509 인증서라는 제목의 기사를 보려면 World Wide Web Consortium 웹 사이트를 참조하십시오.

ClientCertificate 컬렉션 필드를 채우려면 웹 서버와 클라이언트 브라우저 모두 SSL3.0/PCT1.0 프로토콜을 지원해야 합니다. 웹 사이트에 SSL이 설치되어 있어야 하고 클라이언트 인증서를 요청해야 합니다. SSL을 사용할 수 있으면 웹 사이트 URL은 "http://"가 아닌 "https://"로 시작합니다. 클라이언트 브라우저로 인증서를 보낼 수 있어야 합니다. 인증서를 보내지 않으면 ClientCertificate 컬렉션은 EMPTY를 반환합니다.

사용자 웹 사이트를 구성하여 클라이언트 인증서를 요청하려면 사용자 서버에 SSL 설치를 참조하십시오.

ClientCertificate 컬렉션의 각 필드 값을 읽으려면 키 이름과 선택적 하위 필드 이름을 제공합니다.

구문

Request.ClientCertificate( Key[SubField] )

매개 변수

Key
검색할 인증서 필드의 이름을 지정합니다. 클라이언트 인증서는 다음 필드로 구성됩니다.
값 의미
Certificate ASN.1 형식으로 된 전체 인증서 내용의 이진 스트림을 포함하는 문자열입니다. 이것은 아래 목록에 없는 특정 SubFields가 표시되는 경우 쉽게 찾을 수 있습니다.
Flags 추가 클라이언트 인증서 정보를 제공하는 일련의 플래그입니다. 플래그를 1로 설정하면 클라이언트 인증서가 표시됩니다. 플래그를 2로 설정하면 이 체인의 마지막 인증서는 알 수 없는 발급자가 발급한 것입니다.
Issuer 인증서 발급자에 대한 정보가 있는 하위 필드 값 목록을 포함하는 문자열입니다. SubField 없이 이 값을 지정하면 ClientCertificate 컬렉션은 쉼표로 구분된 하위 필드 목록을 반환합니다. 예를 들어, C=US, O=Verisign 등이 있습니다.
SerialNumber 하이픈(-)으로 구분된 16진수 바이트의 ASCII 표현으로 된 인증서 일련 번호를 포함하는 문자열입니다. 예를 들어, 04-67-F3-02가 있습니다.
Subject 하위 필드 값 목록을 포함하는 문자열입니다. 하위 필드 값에는 인증서 주체에 대한 정보가 들어 있습니다. SubField 없이 이 값을 지정하면 ClientCertificate 컬렉션은 쉼표로 구분된 하위 필드 목록을 반환합니다. 예를 들어, C=US, O=Msft 등이 있습니다.
ValidFrom 인증서가 유효하게 되는 시기를 지정하는 날짜입니다. 이 날짜는 VBScript 형식을 따르며 국가별 설정 사항에 따라 다릅니다. 예를 들어, 미국의 경우는 9/26/96 11:59:59 PM입니다. 연도 값은 네 자리 수로 표시됩니다.
ValidUntil 인증서 만료 시기를 지정하는 날짜입니다. 연도 값은 네 자리 수로 표시됩니다.


SubField
Subject 또는 Issuer 키로 개별 필드를 검색하기 위해 사용할 수 있는 선택적 매개 변수입니다. 이 매개 변수는 Key 매개 변수에 접미사로 추가됩니다. 예를 들어, IssuerO 또는 SubjectCN처럼 사용합니다. 다음 표는 일반적으로 사용하는 일부 SubField 값을 열거한 것입니다.
값 의미
C 국가 이름을 지정합니다.
CN 사용자의 일반 이름을 지정합니다(이 하위 필드는 Subject 키와만 같이 사용됨).
GN 주어진 이름을 지정합니다.
I 이니셜을 지정합니다.
L 지역을 지정합니다.
O 회사 또는 조직 이름을 지정합니다.
OU 조직 단위 이름을 지정합니다.
S 주 또는 도를 지정합니다.
T 개인 또는 조직의 이름을 지정합니다.

앞의 표에 열거된 값 외의 SubField 값은 ASN.1 식별자(OID)로 확인할 수 있습니다. ASN.1 식별자 형식은 마침표(.)로 구분된 숫자 목록입니다. 인증서의 OID 목록은 해당 인증서를 발급했던 기관에서 받을 수 있습니다.

예제

ClientCertificate 컬렉션의 키를 반복할 수 있습니다. 다음 예제를 참조하십시오.

<%
  For Each strKey in Request.ClientCertificate
    Response.Write strkey & " = " & Request.ClientCertificate(strkey) & "<BR>"
  Next
%>
 

다음은 클라이언트 인증서를 발급한 회사의 일반 이름을 검색하는 예제입니다.

<%= Request.ClientCertificate("IssuerCN") %>
 

다음은 클라이언트 인증서의 만료 날짜를 표시하는 예제입니다.

This certification will expire on 
<%= Request.ClientCertificate("ValidUntil") %>
 
The following example uses the Flags key to test whether the issuer of the certificate is known.
<%
  Const ceCertPresent = 1
  Const ceUnrecognizedIssuer = 2
  If Request.ClientCertificate("Flags") = ceUnrecognizedIssuer Then
    Response.Write "Unrecognized issuer"
  End If
%>
 

다음은 클라이언트 인증서의 모든 필드를 표시하는 예제입니다.

Issuer: <%=Request.ClientCertificate("Issuer")%><br>
Subject: <%=Request.ClientCertificate("Subject")%><br>

<% cer=Request.ClientCertificate("Certificate") %>
Certificate Raw Data: <%=cer%><br>
Certificate length: <%=len(cer)%><br>
Certificate Hex Data:
<% For x=1 To 100 %>
  <%=hex(asc(mid(cer,x,1)))%>&nbsp;
<% Next %>

적용

Request 개체

관련 항목

Cookies, Form, QueryString, ServerVariables, Security and Cryptography


© 1997-2001 Microsoft Corporation. All rights reserved.