인증서 서비스 웹 등록 페이지 사용자 지정
Certificate Services는 인증서를 요청하는 데 사용할 수 있는 웹 등록 페이지를 제공합니다. 관리자는 웹 등록 페이지에서 볼 수 있는 항목 중 일부를 사용자 지정할 수 있습니다. 그러나 변경하기 전에 웹 등록 페이지 및 웹 스크립팅에 익숙해야 합니다. 웹 스크립팅에 대한 자세한 내용은 스크립팅을 참조하세요.
조직, 조직 구성 단위, 지역, 주 및 국가/지역에 대한 고유 이름 필드의 기본값은 인증서 서비스를 설치할 때 CA( 인증 기관 )에 지정된 값입니다. 이러한 기본값은 웹 페이지에 표시되며 인증서 등록 프로세스 중에 사용자가 변경할 수 있습니다. 그러나 웹 페이지에 다른 기본값을 표시하려면 Certdat.inc 파일(\WindowsDirectory\System32\Certsrv\경로)을 편집할 수 있습니다. 특히 사용자 지정을 위해 제공된 다음 변수에 사용자 지정 값을 할당할 수 있습니다.
변수 | 설명 |
---|---|
sDefaultCompany | 기본 회사( 인증서 요청에X.509 조직 필드로 표시됨). |
sDefaultOrgUnit | 기본 부서(인증서 요청에 X.509 조직 단위 필드로 표시됨). |
sDefaultLocality | 기본 도시(인증서 요청에 X.509 위치 필드로 표시됨). |
sDefaultState | 기본 상태/지방(인증서 요청에 X.509 상태 필드로 표시됨). |
sDefaultCountry | 기본 국가/지역(인증서 요청에 X.509 국가/지역 필드로 표시됨). |
nPendingTimeoutDays | 사용자가 요청된 후 보류 중인 인증서를 검색할 수 있는 일 수입니다. |
Certdat.inc 파일에서 다른 변수를 변경해서는 안 됩니다.
다음 예제에서는 기본 조직 구성 단위를 "마케팅"으로 설정합니다.
sDefaultOrgUnit="Marketing"
또한 Certrqtp.inc 파일을 편집하여 사용자가 사용할 수 있는 인증서 템플릿 또는 형식을 추가, 변경 또는 제거할 수 있습니다. 이러한 템플릿 및 형식과 관련 정보는 rgAvailReqTypes(m,5)라는 차원 배열에 포함되어 있습니다.
이 배열은 모든 Visual Basic Scripting Edition 배열과 마찬가지로 0부터 시작되므로 배열의 첫 번째 차원 m은 m+1 항목에 대한 메모리를 할당합니다. 따라서 웹 페이지를 사용자 지정할 때 rgAvailReqTypes 배열의 항목 수를 수정하고 m 차원을 필요한 총 항목 수보다 작은 1로 설정해야 합니다. 예를 들어 7개의 인증서 템플릿이 있는 경우 다음 예제와 같이 rgAvailReqTypes 선언을 변경합니다.
Dim rgAvailReqTypes(6,5)
항상 값이 5인 배열의 두 번째 차원은 각 항목을 구성하는 6개의 필드를 할당합니다. 이러한 6개 필드는 인증서 템플릿 또는 형식, 이 템플릿 또는 형식과 연결된 표시 이름 및 템플릿에 S/MIME( 보안/다목적 인터넷 메일 확장 )가 필요한지 여부를 나타냅니다.
이러한 필드 중 액세스되는 필드를 더 쉽게 이해할 수 있도록 Certrqtp.inc는 필드 값을 설정할 때 사용할 수 있는 다음 상수도 제공합니다.
상수 | 설명 |
---|---|
FIELD_OID | (독립 실행형 CA에 적용됨) 항목의 첫 번째 필드에 대한 인덱스입니다. 는 인증서 유형에 대한 OID( 개체 식별자 )를 나타냅니다. |
FIELD_TEMPLATE | (엔터프라이즈 CA에 적용) 항목의 첫 번째 필드에 대한 인덱스입니다. 는 인증서 템플릿을 나타냅니다. |
FIELD_FRIENDLYNAME | 항목의 두 번째 필드에 대한 인덱스입니다. 는 첫 번째 필드에 있는 항목의 표시 이름(사용자가 등록할 때 표시됨)을 나타냅니다. |
FIELD_CSPLIST | 항목의 세 번째 필드에 대한 인덱스입니다. 템플릿에서 허용하는 암호화 서비스 공급자 이름 목록입니다. 목록의 각 이름은 물음표(?)로 구분됩니다. |
FIELD_CSPLIST2 | 항목의 네 번째 필드에 대한 인덱스입니다. 템플릿에서 허용하는 암호화 서비스 공급자 이름의 보조 목록입니다. 목록의 각 이름은 물음표(?)로 구분됩니다. 이 목록은 다른 기본값을 제공합니다. |
FIELD_EXPORTABLE | 항목의 다섯 번째 필드에 대한 인덱스입니다. 템플릿이 키를 내보낼 수 있도록 지정하는지 여부를 나타냅니다. 이 필드에 "True"가 포함되어 있으면 키를 내보낼 수 있습니다. 이 필드에 "False"가 포함되어 있으면 키를 내보낼 수 없습니다. |
FIELD_NEEDS_SMIME_CAPABILITIES | 이 상수는 지원되지 않습니다. |
예를 들어 다음 식은 첫 번째 항목의 첫 번째 필드에 1.3.6.1.5.5.7.3.2의 OID를 할당하고 첫 번째 항목의 두 번째 필드에 "웹 브라우저 인증서"를 할당합니다(배열 값 0은 첫 번째 항목을 인덱싱합니다).
rgAvailReqTypes(0, FIELD_OID) = "1.3.6.1.5.5.7.3.2"
rgAvailReqTypes(0, FIELD_FRIENDLYNAME) = "Web Browser Certificate"
이러한 할당의 결과는 사용자가 등록할 때 웹 브라우저 인증서 텍스트가 표시되고 사용자가 웹 브라우저 인증서를 선택하면 인증서 요청에 OID 1.3.6.1.5.5.7.3.2가 포함됩니다.
Certrqtp.inc 파일에는 인증서 템플릿 또는 형식의 표시 이름에 사용되는 상수도 포함되어 있습니다. 다음 예제에서는 형식을 보여줍니다.
' Strings for localization.
Const L_WebBrowserCert_Text="Web Browser Certificate"
Const L_EmailProtectionCert_Text="E-Mail Protection Certificate"
Const L_UserTemplateCert_Text="User Certificate"
이러한 상수는 Certrqtp.inc 파일의 블록에 정의되며, 이 그룹화를 통해 각 상수를 사용자 지정 값으로 더 쉽게 할당할 수 있습니다. 이는 웹 페이지의 국가별 버전에 대한 표시 이름을 지역화할 때 특히 유용합니다.
마지막으로 Certrqtp.inc 파일에는 rgAvailReqTypes 배열의 인증서 템플릿 또는 형식 수를 나타내는 변수가 포함되어 있습니다. 배열의 m 차원과 달리 nAvailReqTypes 변수의 값을 설치에서 사용할 인증서 템플릿 또는 형식의 실제 수로 설정합니다. 이 값은 m+1보다 크지 않아야 합니다. Certrqtp.inc 파일의 맨 위에 선언되었지만 nAvailReqTypes에는 rgAvailReqTypes 배열이 채워진 후 값이 할당되므로 배열에서 실제로 사용되는 요소 수를 더 쉽게 확인할 수 있습니다. nAvailReqTypes 값은 웹 등록 페이지의 다른 곳에서 반복에 사용되므로 이 변수는 사용자에게 표시할 인증서 템플릿 또는 형식의 수를 정확하게 반영하는 것이 중요합니다.
인증서 템플릿 및 형식만 Certrqtp.inc 파일에 추가한다고 해서 사용자가 이러한 특성을 가진 인증서를 가져올 수 있다는 보장은 없습니다. CA는 지정된 인증서 템플릿 또는 형식에 대한 인증서를 발급할 수 있는 권한을 부여받아야 합니다.
설치는 인증서를 요청하고 받기 위한 자체 애플리케이션 또는 웹 페이지를 만들 수 있습니다. ICEnroll4 및 ICertRequest2 개체를 사용하면 프로그래머 또는 스크립터에서 인증서 요청 애플리케이션을 빌드할 수 있습니다.
스마트 카드 발급할 인증서를 요청하려면 스마트 카드 등록 컨트롤을 사용할 수 있습니다. 자세한 내용 및 예제 코드는 ISCrdEnr를 참조하세요.