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