wincrypt.h) (CMC_STATUS_INFO 结构

CMC_STATUS_INFO 结构包含有关通过 CMS 的证书管理消息的状态信息。

语法

typedef struct _CMC_STATUS_INFO {
  DWORD  dwStatus;
  DWORD  cBodyList;
  DWORD  *rgdwBodyList;
  LPWSTR pwszStatusString;
  DWORD  dwOtherInfoChoice;
  union {
    DWORD          dwFailInfo;
    PCMC_PEND_INFO pPendInfo;
  } DUMMYUNIONNAME;
} CMC_STATUS_INFO, *PCMC_STATUS_INFO;

成员

dwStatus

指示消息状态的 DWORD 值。

含义
CMC_STATUS_SUCCESS
0
已授予请求。
CMC_STATUS_FAILED
2
请求失败。 消息的其他部分包含附加信息。
CMC_STATUS_PENDING
3
尚未处理请求正文部分。 请求者必须再次轮询。 此值仅在 证书请求上返回。
CMC_STATUS_NO_SUPPORT
4
不支持请求的操作。
CMC_STATUS_CONFIRM_REQUIRED
5
在使用证书之前,需要使用 idConfirmCertAcceptance 控件进行确认。

cBodyList

rgdwBodyList 数组中元素的 DWORD 计数。

rgdwBodyList

DWORD 数组。

pwszStatusString

指示消息状态的可选字符串文本。

dwOtherInfoChoice

标识要使用的联合成员的 DWORD 值。

此成员可以是以下值之一:

  • CMC_OTHER_INFO_NO_CHOICE
  • CMC_OTHER_INFO_FAIL_CHOICE
  • CMC_OTHER_INFO_PENDING_CHOICE

DUMMYUNIONNAME

DUMMYUNIONNAME.dwFailInfo

联合的 DWORD 成员。 如果 CMC_OTHER_INFO_FAIL_CHOICE dwOtherInfoChoice ,则使用此成员。 对于各种故障,将返回以下值。

含义
CMC_FAIL_BAD_ALG
0
无法识别或不受支持的算法。
CMC_FAIL_BAD_MESSAGE_CHECK
1
完整性检查失败。
CMC_FAIL_BAD_REQUEST
2
不允许或不支持事务。
CMC_FAIL_BAD_TIME
3
消息时间字段不够接近系统时间。
CMC_FAIL_BAD_CERT_ID
4
无法识别与提供的条件匹配的证书。
CMC_FAIL_UNSUPORTED_EXT
5
收件人 CA 不支持请求的 X.509 扩展。
CMC_FAIL_MUST_ARCHIVE_KEYS
6
必须提供私钥材料。
CMC_FAIL_BAD_IDENTITY
7
无法验证标识属性。
CMC_FAIL_POP_REQUIRED
8
服务器在颁发证书之前需要 POP 证明。
CMC_FAIL_POP_FAILED
9
POP 处理失败。
CMC_FAIL_NO_KEY_REUSE
10
服务器策略不允许重复使用密钥。
CMC_FAIL_INTERNAL_CA_ERROR
11
证书颁发机构 (CA) 发生了内部故障。
CMC_FAIL_TRY_LATER
12
请求因未知原因失败。 稍后应重新发出该请求。

DUMMYUNIONNAME.pPendInfo

指向 联合CMC_PEND_INFO结构 成员的指针。 如果 CMC_OTHER_INFO_PEND_CHOICE dwOtherInfoChoice ,则使用此成员。

备注

联合的其他成员可以在将来的版本中定义。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 wincrypt.h