icEnroll::get_GenKeyFlags 方法 (xenroll.h)

[此属性在 Windows Server 2008 和 Windows Vista 中不再可用。]

生成证书请求时 ,GenKeyFlags 属性设置或检索传递给 CryptGenKey 函数的值。

默认情况下, GenKeyFlags 属性设置为零。 但是,指定 .pvk 文件时, GenKeyFlags 的值默认为CRYPT_EXPORTABLE。 有关详细信息,请参阅“备注”。

此属性首先在 ICEnroll 接口中定义。

此属性是可读写的。

语法

HRESULT get_GenKeyFlags(
  LONG *pdwFlags
);

参数

pdwFlags

返回值

备注

默认情况下,除非请求 .pvk 文件,否则私钥不可导出。 若要在不指定 .pvk 文件的情况下使私钥可导出,请将 GenKeyFlags 设置为 CRYPT_EXPORTABLE。

若要指定 .pvk 文件名,请使用 PVKFileName 属性。

GenKeyFlags 属性值通过使用其 dwFlags 参数传递给 CryptGenKey CryptoAPI 函数。

如果 加密服务提供程序 (CSP) 不支持可导出的私钥,则会发生错误。

GenKeyFlags 属性会影响以下方法的行为:

注意GenKeyFlags 属性的默认值为零。 如果需要更改此值,则必须在调用这些方法之前执行此操作。 调用任一方法后,无法更改 GenKeyFlags 属性值。
 

示例

LONG     lGenKey;
HRESULT  hr;

// pEnroll is a previously instantiated ICEnroll interface pointer.

// Get the GenKeyFlags value.
hr = pEnroll->get_GenKeyFlags( &lGenKey );
if (FAILED( hr ))
    printf("Failed get_GenKeyFlags - %x\n", hr );
else
    printf( "GenKeyFlags: %d\n", lGenKey );

// Set the GenKeyFlags value.
hr = pEnroll->put_GenKeyFlags( CRYPT_EXPORTABLE );
if (FAILED( hr ))
    printf("Failed put_GenKeyFlags - %x\n", hr );
else
    printf( "GenKeyFlags set to %d\n", CRYPT_EXPORTABLE );

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 xenroll.h
Library Uuid.lib
DLL Xenroll.dll

另请参阅

CEnroll

CryptGenKey

ICEnroll

ICEnroll2

ICEnroll3

ICEnroll4