MQCSP-安全性参数
IBM® MQ 连接安全性参数结构由应用程序用于将 MQCONNX 调用上的认证信息流至队列管理器。 您还可以使用它来提供用于加密敏感数据的 IBM MQ 密码保护系统的初始密钥。
将 AuthenticationType 设置为 MQCSP_AUTH_USER_ID_AND_PWD 以包含 V 1 中的用户标识和密码。
在提供版本为 2 的初始密钥信息时, AuthenticationType 缺省为 MQCSP_AUTH_NONE。
从 IBM MQ 9.3.4开始,使用 AuthenticationType 以包含认证令牌信息。
可以使用 MQCSP_AUTH_USER_ID_AND_PWD 或 MQCSP_AUTH_ID_TOKEN,但不能同时使用两者。
可用性
MQCSP 结构在所有受支持的 IBM MQ 平台上都可用。
版本
为受支持的编程语言提供的头 COPY 和 INCLUDE 文件包含最新版本的 MQCSP ,但 Version 字段的初始值设置为 MQCSP_VERSION_1。 要使用 version-1 结构中不存在的字段,应用程序必须将 Version 字段设置为所需的版本号。
字符集和编码
MQCSP 中的数据必须采用本地队列管理器的字符集和编码,这些数据分别由 CodedCharSetId 队列管理器属性和 MQENC_NATIVE 提供。
字段
注: 在下表中,字段按用法 (而不是按字母顺序) 进行分组。 子主题遵循相同的顺序。
| 字段名称和描述 | 常量的名称 | 常量的初始值 (如果有) |
|---|---|---|
| StrucId (结构标识) | MQCSP_结构ID | 'CSP¬' |
| 版本 (结构版本号) | MQCSP_VERSION_1 | 1 |
| AuthenticationType (认证类型) | None | MQCSP_AUTH_NONE |
| Reserved1 (对于 IBM i上的指针对齐是必需的) | None | 空字符串或空白 |
| CSPUserIdPtr(用户 ID 地址) | None | 空指针或空字节 |
| CSPUserIdOffset(用户 ID 偏移量) | None | 0 |
| CSPUserIdLength(用户 ID 长度) | None | 0 |
| Reserved2 (对于 IBM i上的指针对齐是必需的) | None | 空字符串或空白 |
| CSPPasswordPtr (密码的地址) | None | 空指针或空字节 |
| CSPPasswordOffset (密码的偏移量) | None | 0 |
| CSPPasswordLength (密码长度) | None | 0 |
注: 如果
Version 小于 MQCSP_VERSION_2,那么将忽略其余字段。 |
||
![]() Reserved3 ( IBM i上的指针对齐所必需) |
None | 空字符串或空白 |
![]() InitialKeyPtr |
None | 空指针或空白 |
![]() InitialKeyOffset(密码保护系统初始密钥的偏移量) |
None | 0 |
' InitialKeyLength长度(密码保护系统的初始密钥长度) |
None | 0 |
注: 如果
Version 小于 MQCSP_VERSION_3,那么将忽略其余字段。 |
||
Reserved4 ( IBM i上的指针对齐所必需) |
None | 空字符串或空白 |
TokenPtr (认证令牌的地址) |
None | 空指针或空白 |
TokenKeyOffset(验证令牌偏移量) |
None | 0 |
TokenLength (认证令牌的长度) |
None | 0 |
注:
|
||
语言声明
MQCSP 的 C 声明
![[MQ 9.3.0 2022 年 6 月]](ng930cd.gif)
![[MQ 9.3.0 2022 年 6 月]](ng930.gif)
typedef struct tagMQCSP MQCSP;
struct tagMQCSP {
MQCHAR4 StrucId; /* Structure identifier */
MQLONG Version; /* Structure version number */
MQLONG AuthenticationType; /* Type of authentication */
MQBYTE4 Reserved1; /* Required for IBM i pointer alignment */
MQPTR CSPUserIdPtr; /* Address of user ID */
MQLONG CSPUserIdOffset; /* Offset of user ID */
MQLONG CSPUserIdLength; /* Length of user ID */
MQBYTE8 Reserved2; /* Required for IBM i pointer alignment */
MQPTR CSPPasswordPtr; /* Address of password */
MQLONG CSPPasswordOffset; /* Offset of password */
MQLONG CSPPasswordLength; /* Length of password */
/* Ver:1 */
MQBYTE8 Reserved3; /* Required for IBM i pointer alignment */
MQPTR InitialKeyPtr; /* Address of initial key */
MQLONG InitialKeyOffset; /* Offset of initial key */
MQLONG InitialKeyLength; /* Length of initial key */
/* Ver:2 */
};
![[MQ 9.3.4 2023 年 10 月]](ng934.gif)
typedef struct tagMQCSP MQCSP;
struct tagMQCSP {
MQCHAR4 StrucId; /* Structure identifier */
MQLONG Version; /* Structure version number */
MQLONG AuthenticationType; /* Type of authentication */
MQBYTE4 Reserved1; /* Required for IBM i pointer alignment */
MQPTR CSPUserIdPtr; /* Address of user ID */
MQLONG CSPUserIdOffset; /* Offset of user ID */
MQLONG CSPUserIdLength; /* Length of user ID */
MQBYTE8 Reserved2; /* Required for IBM i pointer alignment */
MQPTR CSPPasswordPtr; /* Address of password */
MQLONG CSPPasswordOffset; /* Offset of password */
MQLONG CSPPasswordLength; /* Length of password */
/* Ver:1 */
MQBYTE8 Reserved3; /* Required for IBM i pointer alignment */
MQPTR InitialKeyPtr; /* Address of initial key */
MQLONG InitialKeyOffset; /* Offset of initial key */
MQLONG InitialKeyLength; /* Length of initial key */
/* Ver:2 */
MQBYTE8 Reserved4; /* Required for IBM i pointer alignment */
MQPTR TokenPtr; /* Address of token */
MQLONG TokenOffset; /* Offset of token */
MQLONG TokenLength; /* Length of token */
/* Ver:3 */
};
COBOL MQCSP声明
![[MQ 9.3.0 2022 年 6 月]](ng930cd.gif)
![[MQ 9.3.0 2022 年 6 月]](ng930.gif)
** MQCSP structure
10 MQCSP.
** Structure identifier
15 MQCSP-STRUCID PIC X(4).
** Structure version number
15 MQCSP-VERSION PIC S9(9) BINARY.
** Type of authentication
15 MQCSP-AUTHENTICATIONTYPE PIC S9(9) BINARY.
** Required for IBM i pointer alignment
15 MQCSP-RESERVED1 PIC X(4).
** Address of user ID
15 MQCSP-CSPUSERIDPTR POINTER.
** Offset of user ID
15 MQCSP-CSPUSERIDOFFSET PIC S9(9) BINARY.
** Length of user ID
15 MQCSP-CSPUSERIDLENGTH PIC S9(9) BINARY.
** Required for IBM i pointer alignment
15 MQCSP-RESERVED2 PIC X(4).
** Address of password
15 MQCSP-CSPPASSWORDPTR POINTER.
** Offset of password
15 MQCSP-CSPPASSWORDOFFSET PIC S9(9) BINARY.
** Length of password
15 MQCSP-CSPPASSWORDLENGTH PIC S9(9) BINARY.
** Ver:1 **
** Reserved
15 MQCSP-RESERVED3 PIC X(8).
** Address of initial key
15 MQCSP-INITIALKEYPTR POINTER.
** Offset of initial key
15 MQCSP-INITIALKEYOFFSET PIC S9(9) BINARY.
** Length of initial key
15 MQCSP-INITIALKEYLENGTH PIC S9(9) BINARY.
** Ver:2 **
![[MQ 9.3.4 2023 年 10 月]](ng934.gif)
** MQCSP structure
10 MQCSP.
** Structure identifier
15 MQCSP-STRUCID PIC X(4).
** Structure version number
15 MQCSP-VERSION PIC S9(9) BINARY.
** Type of authentication
15 MQCSP-AUTHENTICATIONTYPE PIC S9(9) BINARY.
** Required for IBM i pointer alignment
15 MQCSP-RESERVED1 PIC X(4).
** Address of user ID
15 MQCSP-CSPUSERIDPTR POINTER.
** Offset of user ID
15 MQCSP-CSPUSERIDOFFSET PIC S9(9) BINARY.
** Length of user ID
15 MQCSP-CSPUSERIDLENGTH PIC S9(9) BINARY.
** Required for IBM i pointer alignment
15 MQCSP-RESERVED2 PIC X(4).
** Address of password
15 MQCSP-CSPPASSWORDPTR POINTER.
** Offset of password
15 MQCSP-CSPPASSWORDOFFSET PIC S9(9) BINARY.
** Length of password
15 MQCSP-CSPPASSWORDLENGTH PIC S9(9) BINARY.
** Ver:1 **
** Reserved
15 MQCSP-RESERVED3 PIC X(8).
** Address of initial key
15 MQCSP-INITIALKEYPTR POINTER.
** Offset of initial key
15 MQCSP-INITIALKEYOFFSET PIC S9(9) BINARY.
** Length of initial key
15 MQCSP-INITIALKEYLENGTH PIC S9(9) BINARY.
** Ver:2 **
** Reserved
15 MQCSP-RESERVED4 PIC X(8).
** Address of token
15 MQCSP-TOKENPTR POINTER.
** Offset of token
15 MQCSP-TOKENOFFSET PIC S9(9) BINARY.
** Length of token
15 MQCSP-TOKENLENGTH PIC S9(9) BINARY.
** Ver:3 **
PL/I MQCSP声明
![[MQ 9.3.0 2022 年 6 月]](ng930cd.gif)
![[MQ 9.3.0 2022 年 6 月]](ng930.gif)
dcl
1 MQCSP based,
3 StrucId char(4), /* Structure identifier */
3 Version fixed bin(31), /* Structure version number */
3 AuthenticationType fixed bin(31), /* Type of authentication */
3 Reserved1 char(4), /* Required for IBM i pointer
alignment */
3 CSPUserIdPtr pointer, /* Address of user ID */
3 CSPUserIdOffset fixed bin(31), /* Offset of user ID */
3 CSPUserIdLength fixed bin(31), /* Length of user ID */
3 Reserved2 char(8), /* Required for IBM i pointer
alignment */
3 CSPPasswordPtr pointer, /* Address of password */
3 CSPPasswordOffset fixed bin(31), /* Offset of user ID */
3 CSPPasswordLength fixed bin(31), /* Length of user ID */
/* Version 1 */
3 Reserved3 char(8), /* Reserved */
3 InitialKeyPtr pointer, /* Address of initial key */
3 InitialKeyOffset fixed bin(31), /* Offset of initial key */
3 InitialKeyLength fixed bin(31); /* Length of initial key */
/* Version 2 */
![[MQ 9.3.4 2023 年 10 月]](ng934.gif)
dcl
1 MQCSP based,
3 StrucId char(4), /* Structure identifier */
3 Version fixed bin(31), /* Structure version number */
3 AuthenticationType fixed bin(31), /* Type of authentication */
3 Reserved1 char(4), /* Required for IBM i pointer
alignment */
3 CSPUserIdPtr pointer, /* Address of user ID */
3 CSPUserIdOffset fixed bin(31), /* Offset of user ID */
3 CSPUserIdLength fixed bin(31), /* Length of user ID */
3 Reserved2 char(8), /* Required for IBM i pointer
alignment */
3 CSPPasswordPtr pointer, /* Address of password */
3 CSPPasswordOffset fixed bin(31), /* Offset of user ID */
3 CSPPasswordLength fixed bin(31), /* Length of user ID */
/* Version 1 */
3 Reserved3 char(8), /* Reserved */
3 InitialKeyPtr pointer, /* Address of initial key */
3 InitialKeyOffset fixed bin(31), /* Offset of initial key */
3 InitialKeyLength fixed bin(31); /* Length of initial key */
/* Version 2 */
3 Reserved4 char(8), /* Reserved */
3 TokenPtr pointer, /* Address of Token */
3 TokenOffset fixed bin(31), /* Offset of Token */
3 TokenLength fixed bin(31); /* Length of Token */
/* Version 3 */
MQCSP 的 Visual Basic 声明
Type MQCSP
StrucId As String*4 'Structure identifier'
Version As Long 'Structure version number'
AuthenticationType As Long 'Type of authentication'
Reserved1 As MQBYTE4 'Required for IBM i pointer'
'alignment'
CSPUserIdPtr As MQPTR 'Address of user ID'
CSPUserIdOffset As Long 'Offset of user ID'
CSPUserIdLength As Long 'Length of user ID'
Reserved2 As MQBYTE8 'Required for IBM i pointer'
'alignment'
CSPPasswordPtr As MQPTR 'Address of password'
CSPPasswordOffset As Long 'Offset of password'
CSPPasswordLength As Long 'Length of password'
End Type