GetDefaultSecurityDescriptor 方法检索默认私钥安全描述符。
Syntax
HRESULT GetDefaultSecurityDescriptor(
[in] VARIANT_BOOL MachineContext,
[out] BSTR *pValue
);
参数
[in] MachineContext
一个VARIANT_BOOL变量,指示是检索计算机或用户的安全描述符。 为计算机指定 VARIANT_TRUE ,并为用户指定 VARIANT_FALSE 。
[out] pValue
指向包含安全描述符的 BSTR 变量的指针。
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括但不限于下表中的值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
| 返回代码/值 | Description |
|---|---|
|
找不到属性值。 |
|
加密提供程序不支持安全描述符。 |
|
加密提供程序不支持安全描述符。 |
|
加密提供程序不支持安全描述符。 |
注解
若要使用安全描述符,必须调用Microsoft授权 API 随附的 ConvertStringSecurityDescriptorToSecurityDescriptor 函数,并指定 GetDefaultSecurityDescriptor 方法返回的字符串。 该函数返回指向 SECURITY_DESCRIPTOR 结构的指针。
默认安全描述符用于定义对计算机和用户的私钥的访问,方式如下:
- 默认情况下,只有 LocalSystem 帐户下运行的本地管理员和服务才能访问与计算机帐户关联的私钥。
- 当提供程序将用户的私钥存储在用户配置文件中的加密文件中时,它使用安全描述符来设置对文件的访问权限。
此方法检索将与指定的 MachineContext 参数和当前提供程序关联的默认安全描述符(如果创建新的私钥)。 可以使用默认描述符创建自定义描述符。 通常,当与计算机上下文证书关联的私钥必须由在 LocalSystem 帐户以外的帐户下运行的服务使用自定义描述符。
某些加密提供程序不支持安全描述符。 示例包括智能卡和硬件安全模块(HSM)提供商。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | certenroll.h |
| DLL | CertEnroll.dll |