ICEnroll4::createRequest 方法 (xenroll.h)
[從 Windows Server 2008 和 Windows Vista 起,這個方法已不再可供使用。]
createRequest 方法會透過 CMS (CMC 建立 PKCS #10、PKCS #7 或完整憑證管理,) 格式憑證要求,並將其儲存在字元串中。 這個方法最初是在 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 名稱必須遵循 X.500 命名慣例,例如 “CN=User, O=Microsoft”。 如果兩個字母前置詞不存在,可以改為提供 OID。
[in] Usage
對象 標識碼 (OID) ,描述所產生憑證的目的,例如個人或商業 Authenticode 憑證或客戶端驗證。 您也可以指定以逗號分隔的多個 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 |