다음을 통해 공유


ICertGetConfig::GetConfig 메서드(certcli.h)

GetConfig 메서드는 인증서 서비스 서버에 대한 구성 문자열을 검색합니다.

구성 문자열은 백슬래시(\);로 구분된 서버 이름 및 CA( 인증 기관 ) 이름입니다. 예: ServerName\CAName. 이 구성 문자열을 사용하여 특정 인증서 서비스 서버를 명확하게 참조할 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.

구문

HRESULT GetConfig(
  [in]  LONG Flags,
  [out] BSTR *pstrOut
);

매개 변수

[in] Flags

사용할 CA를 지정하는 값입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CC_DEFAULTCONFIG
0x00000000
기본 CA를 검색합니다.
CC_FIRSTCONFIG
0x00000002
첫 번째 CA를 반환합니다.
CC_LOCALACTIVECONFIG
0x00000004
실행 중인 경우 로컬 CA를 검색합니다.
CC_LOCALCONFIG
0x00000003
로컬 CA를 검색합니다.
CC_UIPICKCONFIG
0x00000001
사용자가 CA를 선택할 수 있는 UI(사용자 인터페이스)를 표시합니다.
CC_UIPICKCONFIGSKIPLOCALCA
0x00000005
사용자가 CA를 선택할 수 있는 UI를 표시합니다. UI는 로컬 CA를 제외합니다. 이 제외는 하위 CA 인증서를 갱신하는 동안 하위 CA 인증서 요청이 현재 CA 이외의 CA에 제출될 때 유용합니다.

[out] pstrOut

구성을 포함하는 BSTR 에 대한 포인터입니다. 구성 사용을 마쳤으면 SysFreeString 함수를 호출하여pbstrOut을 해제합니다.

반환 값

함수가 성공하면 반환 값이 S_OK.

메서드가 실패하면 반환 값은 오류를 나타내는 HRESULT 입니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

설명

이 함수가 반환하는 구성 문자열의 CA( 인증 기관 ) 이름 부분은 인증서 서비스 설정 프로세스 중에 입력한 정확한 텍스트입니다. 이 텍스트는 파일 이름(예: 인증서 해지 목록) 또는 레지스트리 키에 있는 CA 이름의 형식과 다를 수 있습니다. 파일 이름 및 레지스트리 키는 삭제된 버전의 CA 이름을 사용하기 때문입니다.

CA 이름을 삭제하는 프로세스는 파일 이름, 레지스트리 키 이름 또는 고유 이름 값에 대해 불법이거나 인증서 서비스와 관련된 이유로 불법인 문자를 제거하는 데 필요합니다. 삭제 프로세스에서 일반 이름의 잘못된 문자는 형식의 5자 표현으로 변환됩니다 .xxxx- 여기서 느낌표(!)는 이스케이프 문자로 사용되고 xxxx 는 변환할 문자를 고유하게 식별하는 4개의 16진수 숫자를 나타냅니다.

예를 들어 숫자 기호(#)는 Active Directory 디렉터리 서비스의 고유 이름에서 허용되지 않습니다. 설치 중에 입력한 CA 이름이 YourName# 면 삭제된 CA 이름은 !0023YourName이 됩니다.

설치하는 동안 CA의 일반 이름에 대해 입력한 다음 문자는 로 변환됩니다.삭제 프로세스 중 xxxx 형식입니다. 이 목록은 변경될 수 있습니다.

문자 !xxxx 형식의 값
< !003c
> !003e
" !0022
/ !002f
\ !005c
: !003a
| !007c
? !003f
* !002a
# !0023
, !002c
+ !002b
; !003b
! !0021
 

모든 인쇄되지 않는 문자와 7비트를 사용하지 않는 모든 유니코드 문자도 로 변환됩니다 .xxxx 형식입니다.

삭제된 이름이 64자 디렉터리 서비스 RDN(상대 고유이름)에 대해 너무 길면 삭제된 짧은 이름이 생성됩니다. 삭제된 짧은 이름은 삭제된 전체 이름의 해시 와 함께 잘리고 추가된 삭제된 이름으로 구성됩니다. 삭제된 약식 이름은 (123)과 같은 CRL( 인증서 해지 목록 ) 접미사를 포함하도록 64자 중 일부를 예약합니다.

이 메서드에서 반환된 구성 문자열의 CA 이름 부분은 설치 중에 입력한 원래 텍스트입니다. CA 이름을 매개 변수로 요구하는 Certificate Services 메서드는 원래 입력한 CA 이름을 허용합니다. 예를 들어 CA 이름 #YourName의 경우
ICertView2::OpenConnection 메서드는 YourName을 매개 변수의 CA 부분으로 허용합니다#.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certcli.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certcli.dll

추가 정보

ICertConfig2::GetConfig

ICertGetConfig

ICertView2::OpenConnection