ICEnroll4::createRequest メソッド (xenroll.h)
[このメソッドは、Windows Server 2008 および Windows Vista では使用できなくなりました。
createRequest メソッドは、PKCS #10、PKCS #7、または完全な証明書管理 over CMS (CMC) 形式の証明書要求を作成し、それを文字列に格納します。 このメソッドは、 ICEnroll4 インターフェイスで最初に定義されました。
構文
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
パラメーター
[in] Flags
作成する証明書要求の種類を示す 値。 これには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
完全な CMC |
|
PKCS 10 |
|
PKCS 10 バージョン 2 |
|
PKCS 7 |
[in] strDNName
このパラメーターには NULL を指定できます。それ以外の場合、このパラメーターは、要求が行われるエンティティの識別名 (DN) を指定します。 DN 名は、"CN=User, O=Microsoft" などの X.500 名前付け規則に従う必要があります。 2 文字のプレフィックスが存在しない場合は、代わりに OID を指定できます。
[in] Usage
生成される証明書の目的 (個人または商用の Authenticode 証明書、クライアント認証など) を記述 するオブジェクト識別子 (OID)。 複数の OID をコンマで区切って指定することもできます。
[out] pstrRequest
要求を受信する BSTR (BASE64_HEADER形式) へのポインター。 BSTR の使用が完了したら、SysFreeString 関数を呼び出して解放します。
戻り値
C++
メソッドが成功した場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
VB
戻り値は、要求を含む 文字列 (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 |
Library | Uuid.lib |
[DLL] | Xenroll.dll |