MQCSP 的字段详细信息
应用程序使用 IBM® MQ 连接安全参数结构,在向队列管理器发出的 MQCONNX 调用中传输身份验证信息。 您还可以使用它来提供初始密钥,该密钥与 IBM MQ 密码保护系统配合使用,对敏感数据进行加密。
StrucId (MQCHAR4)
这是安全参数结构的结构标识符。 它始终是一个输入字段。 其值为 MQCSP_STRUC_ID。
- MQCSP_结构ID
- 安全参数结构的标识符。
对于 C 编程语言,还定义了常量 MQCSP_STRUC_ID_ARRAY。 其值与 MQCSP_STRUC_ID 相同,但它是一个字符数组,而不是字符串。
Version (MQLONG)
MQCSP 结构版本号。
- MQCSP_VERSION_1
- Version-1 安全参数结构。 在版本 1 中,您可以在 MQCSP 结构中加入用户 ID 和密码,以便与队列管理器进行身份验证。
- MQCSP_VERSION_2
- Version-2 安全参数结构。 在第 2 版中,您可以输入用户 ID 和密码来验证队列管理器,并指定用于保护密码的初始密钥。
MQCSP_VERSION_3- Version-3 安全参数结构。 在第 3 版中,您可以在 MQCSP 结构中加入用户 ID 和密码或验证令牌,以便与队列管理器进行验证。 您还可以指定用于保护密码的初始密钥。
- mqcsp_current_version
- 安全参数结构的当前版本。
这始终是一个输入字段。 此字段的初始值为 MQCSP_VERSION_3。
AuthenticationType (MQLONG)
AuthenticationType 是一个输入字段。 其初始值为 MQCSP_AUTH_NONE。
- mqcsp_auth_none
- 请勿使用用户 ID 和密码 或身份验证令牌字段。
- mqcsp_auth_user_id_and_pwd
- 使用 MQCSP 结构中的用户 ID 和密码进行验证。
mqcsp_auth_id_token- 使用 MQCSP 结构中的验证令牌进行验证。
默认值为 MQCSP_AUTH_NONE。 默认设置下,不提供密码保护。
如果需要验证,则必须设置 MQCSP。AuthenticationType 到 MQCSP_AUTH_USER_ID_AND_PWD 或 MQCSP_AUTH_ID_TOKEN。
![[IBM i]](ngibmi.gif)
Reserved1 (MQBYTE4)
保留字段,IBM i的指针对齐所需的字段。
该字段的初始值全部为空。
CSPUserIdPtr (MQPTR)
用于身份验证的用户 ID 地址。
这是一个输入字段。 在支持指针的编程语言中,该字段的初始值为空指针,否则为全空字节字符串。 如果 Version 小于 MQCNO_VERSION_5,则该字段将被忽略。
当队列管理器的 CONNAUTH 字段中命名了 AUTHTYPE 的 IDPWOS 时,该字段可以包含操作系统用户 ID。
在 Windows 上,这可以是一个完全限定域用户 ID。
当队列管理器的 CONNAUTH 字段中命名了 AUTHTYPE 的 IDPWLDAP 时,此字段可以包含 LDAP 用户 ID。
CSPUserIdOffset (MQLONG)
用于身份验证的用户 ID 偏移量(以字节为单位)。 偏移量可以是正值或负值。
这是一个输入字段。 该字段的初始值为 0。
CSPUserIdLength (MQLONG)
用于身份验证的用户 ID 长度。
用户 ID 的最大长度取决于平台,请参阅 用户 ID。 如果用户 ID 的长度大于允许的最大长度,则身份验证请求失败,显示 MQRC_CSP_ERROR。 在 IBM MQ 的早期版本中,返回的错误信息是 MQRC_NOT_AUTHORIZED。
该字段为输入字段。 该字段的初始值为 0。
![[IBM i]](ngibmi.gif)
Reserved2 (MQBYTE8)
保留字段,IBM i的指针对齐所需的字段。
该字段的初始值全部为空。
CSPPasswordPtr (MQPTR)
用于身份验证的密码地址。
这是一个输入字段。 在支持指针的编程语言中,该字段的初始值为空指针,否则为全空字节字符串。 如果 Version 小于 MQCNO_VERSION_5,则该字段将被忽略。
该字段可以包含空密码,操作系统或 LDAP 密码检查(取决于设置)会拒绝该密码,但 IBM MQ 在将其传递给身份验证方法之前不会拒绝该密码。
CSPPasswordOffset (MQLONG)
这是用于身份验证的密码偏移量(以字节为单位)。 偏移量可以是正值或负值。
这是一个输入字段。 该字段的初始值为 0。
CSPPasswordLength (MQLONG)
用于身份验证的密码长度。
密码的最大长度为 MQ_CSP_PASSWORD_LENGTH,即 256 个字符。 如果密码长度大于允许的最大长度,则身份验证请求失败,显示 MQRC_CSP_ERROR。 在 IBM MQ 的早期版本中,返回的错误信息是 MQRC_NOT_AUTHORIZED。
该字段为输入字段。 该字段的初始值为 0。
![[IBM i]](ngibmi.gif)
Reserved3 (MQBYTE8)
保留字段,IBM i的指针对齐所需的字段。
该字段的初始值全部为空。
![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
InitialKeyPtr (MQPTR)
密码保护系统初始密钥的地址。
这是一个输入字段。 在支持指针的编程语言中,该字段的初始值为空指针,否则为全空字节字符串。 如果 Version 小于 MQCSP_VERSION_2,则该字段将被忽略。
此字段仅适用于IBM MQ在多平台上运行的 MQI 客户端。
IBM MQMQI 客户端可使用 IBM MQ 密码保护系统为某些字段提供加密值。 如果使用初始密钥对 MQSCO 结构中指定的密钥存储库的密码进行加密,请确保在同一客户端应用程序的 MQCSP 结构中包含初始密钥字段。
加密算法使用初始密钥对这些值进行加密和解密。 如果在使用 runmqicred 实用程序加密这些字段的值时提供了初始密钥,那么客户端在连接队列管理器时必须指定相同的初始密钥。
使用此字段指定的初始密钥将覆盖使用 MQS_MQI_KEYFILE 环境变量或客户机配置文件 Security stanza 中的 MQIInitialKeyFile 属性指定的任何初始密钥。
您可以使用 InitialKeyOffset 或 InitialKeyPtr 指定初始密钥,但不能同时使用这两种方法。
![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
InitialKeyOffset (MQLONG)
从 MQCSP 结构开始的密码保护系统初始密钥偏移量(以字节为单位)。 偏移量可以是正值或负值。
您可以使用 InitialKeyOffset 或 InitialKeyPtr 指定初始密钥,但不能同时使用这两种方法。 有关详细信息,请参阅 InitialKeyPtr 字段的说明。
这是一个输入字段。 该字段的初始值为 0。 如果 Version 小于 MQCSP_VERSION_2,则该字段将被忽略。
![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
InitialKeyLength (MQLONG)
密码保护系统初始密钥的长度。
这是一个输入字段。 该字段的初始值为 0。 如果 Version 小于 MQCSP_VERSION_2,则该字段将被忽略。
![[IBM i]](ngibmi.gif)
Reserved4 (MQBYTE8)
保留字段,IBM i的指针对齐所需的字段。
该字段的初始值全部为空。
![[AIX]](ngaix.gif)
![[Linux]](nglinux.gif)
TokenPtr (MQPTR)
用于与队列管理器进行身份验证的身份验证令牌地址。
这是一个输入字段。 在支持指针的编程语言中,该字段的初始值为空指针,否则为全空字节字符串。 如果 Version 小于 MQCSP_VERSION_3,则该字段将被忽略。
此字段适用于 IBM MQ MQI clients 连接到在 AIX 或 Linux 系统上运行的 IBM MQ 队列管理器。
您可以使用 TokenOffset 或 TokenPtr 来指定身份验证令牌,但不能同时使用两个令牌。
![[AIX]](ngaix.gif)
![[Linux]](nglinux.gif)
TokenOffset (MQLONG)
这是认证令牌从 MQCSP 结构开始的偏移量(以字节为单位)。 偏移量可以是正值或负值。
这是一个输入字段。 该字段的初始值为 0。 如果 Version 小于 MQCSP_VERSION_3,则该字段将被忽略。
您可以使用 TokenOffset 或 TokenPtr 来指定标记,但不能同时使用这两种方式。 更多信息,请参阅TokenPtr字段的说明。
![[AIX]](ngaix.gif)
![[Linux]](nglinux.gif)
TokenLength (MQLONG)
这是用于与队列管理器进行身份验证的身份验证令牌长度。
身份验证令牌的最大长度为 MQ_CSP_TOKEN_LENGTH,即 8192 字节。 如果 TokenLength 超过允许的最大长度,则身份验证请求会以 MQRC_CSP_ERROR 失败。
这是一个输入字段。 该字段的初始值为 0。 如果 Version 小于 MQCSP_VERSION_3,则该字段将被忽略。
![[AIX、Linux 和 Windows]](ngalw.gif)