ICertGetConfig::GetConfig 메서드(certcli.h)
GetConfig 메서드는 인증서 서비스 서버에 대한 구성 문자열을 검색합니다.
구성 문자열은 백슬래시(\);로 구분된 서버 이름 및 CA( 인증 기관 ) 이름입니다. 예: ServerName\CAName. 이 구성 문자열을 사용하여 특정 인증서 서비스 서버를 명확하게 참조할 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.
구문
HRESULT GetConfig(
[in] LONG Flags,
[out] BSTR *pstrOut
);
매개 변수
[in] Flags
사용할 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 |