ICertAdmin2::GetArchivedKey 方法 (certadm.h)

GetArchivedKey 方法检索存档的密钥恢复 BLOB。 此方法首先在 ICertAdmin 接口中定义。

语法

HRESULT GetArchivedKey(
  [in]  const BSTR strConfig,
  [in]  LONG       RequestId,
  [in]  LONG       Flags,
  [out] BSTR       *pstrArchivedKey
);

参数

[in] strConfig

表示 证书颁发机构 (CA) 的有效配置字符串,格式为 ComputerName\CAName,其中 ComputerName 是证书服务服务器的网络名称, CAName 是 CA 的公用名,如证书服务设置过程中输入的那样。 有关配置字符串名称的信息,请参阅 ICertConfig

重要提示:更改配置字符串时,GetArchivedKey 不会清除内部缓存。 更改 CA 的配置字符串时,必须实例化新的 ICertAdmin 对象,并使用新的配置字符串再次调用此方法。
 

[in] RequestId

表示证书服务数据库中的证书 请求 ID。

[in] Flags

以下标志可用于指定返回的 BLOB 的格式。

含义
CR_OUT_BASE64
不带 BEGIN/END 的 BASE64
CR_OUT_BASE64HEADER
具有 BEGIN CERTIFICATE 和 END CERTIFICATE 的 BASE64
CV_OUT_BINARY
二进制

[out] pstrArchivedKey

指向表示检索到的存档 密钥 BLOB 的字符串的指针。 完成使用此字符串后,调用方负责通过调用 SysFreeString 函数来释放它。

返回值

C++

返回值为 HRESULT。 值 S_OK 表示该方法成功。

VB

包含检索到的已存档密钥 BLOB 的字符串。

注解

存档的密钥在 PKCS #7 中加密到密钥恢复代理证书或证书,以该形式存储在证书服务数据库中。 此方法从证书服务数据库中检索加密的 PKCS #7,将其包装在签名的 PKCS #7 中,其中包含用户证书和链、密钥恢复代理证书或证书以及证书颁发机构的签名证书和链。 经过身份验证的属性包含用于唯一标识用户证书的证书。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 certadm.h (包括 Certsrv.h)
Library Certidl.lib
DLL Certadm.dll