ICEnroll4::createRequest 메서드(xenroll.h)

[이 메서드는 Windows Server 2008 및 Windows Vista를 기준으로 더 이상 사용할 수 없습니다.]

createRequest 메서드는 PKCS #10, PKCS #7 또는 CMS(전체 인증서 관리) 형식 인증서 요청을 만들고 문자열에 저장합니다. 이 메서드는 ICEnroll4 인터페이스에서 처음 정의되었습니다.

구문

HRESULT createRequest(
  [in]  LONG Flags,
  [in]  BSTR strDNName,
  [in]  BSTR Usage,
  [out] BSTR *pstrRequest
);

매개 변수

[in] Flags

만들 인증서 요청의 유형을 지정하는 값입니다. 다음 값 중 하나일 수 있습니다.

의미
XECR_CMC
전체 CMC
XECR_PKCS10_V1_5
PKCS 10
XECR_PKCS10_V2_0
PKCS 10 버전 2
XECR_PKCS7
PKCS 7

[in] strDNName

이 매개 변수는 NULL일 수 있습니다. 그렇지 않으면 이 매개 변수는 요청이 수행되는 엔터티의 고유 이름(DN)을 지정합니다. DN 이름은 X.500 명명 규칙 (예: "CN=User, O=Microsoft")을 따라야 합니다. 두 글자 접두사 없는 경우 대신 OID가 제공될 수 있습니다.

[in] Usage

생성되는 인증서의 용도(예: 개별 또는 상업용 Authenticode 인증서 또는 클라이언트 인증)를 설명하는 OID( 개체 식별자 )입니다. 쉼표로 구분된 여러 OID를 지정할 수도 있습니다.

[out] pstrRequest

요청을 수신하는 BSTR (BASE64_HEADER 형식)에 대한 포인터입니다. BSTR 사용을 마쳤으면 SysFreeString 함수를 호출하여 해제합니다.

반환 값

C++

메서드가 성공하면 메서드는 S_OK 반환합니다.

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

VB

반환 값은 요청을 포함하는 String (BASE64_HEADER 형식)입니다.

설명

이 메서드가 스크립트에서 호출되면 메서드는 사용자가 인증서 요청 만들기를 허용할지 여부를 묻는 사용자 인터페이스를 표시합니다. .pvk 또는 .spc 파일을 지정한 경우 메서드는 사용자가 파일 시스템에 쓰기 작업을 허용할지 여부를 묻는 사용자 인터페이스를 표시합니다.

예제

BSTR bstrDN = NULL;
BSTR bstrReq = NULL;
ICEnroll4 * pEnroll4 = NULL;
HRESULT hr;

hr = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
if (FAILED(hr))
{
    printf("Failed CoInitializeEx - %x\n", hr);
    goto error;
}

hr = CoCreateInstance( __uuidof(CEnroll),
                       NULL,
                       CLSCTX_INPROC_SERVER,
                       __uuidof(ICEnroll4),
                       (void **)&pEnroll4);
if (FAILED(hr))
{
    printf("Failed CoCreateInstance - pEnroll4 [%x]\n", hr);
    goto error;
}

// generate the DN for the cert request
bstrDN = SysAllocString( TEXT("CN=Your Name")   // common name
                         TEXT(",OU=Your Unit")  // org unit
                         TEXT(",O=Your Org")    // organization
                         TEXT(",L=Your City")   // locality
                         TEXT(",S=Your State")  // state
                         TEXT(",C=Your Country") );  // country/region

// create the CMC request
hr = pEnroll4->createRequest( XECR_CMC,
                              bstrDN,
                              NULL,
                              &bstrReq );
if (FAILED(hr))
{
        printf("Failed createRequest - pEnroll4 [%x]\n", hr);
        goto error;
}
else
    // do something with the CMC (bstrReq);

error:

//clean up resources, and so on
if ( bstrDN )
    SysFreeString( bstrDN );
if ( bstrReq )
    SysFreeString( bstrReq );
if ( pEnroll4 )
    pEnroll4->Release();

CoUninitialize();

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 xenroll.h
라이브러리 Uuid.lib
DLL Xenroll.dll