[UNIX、Linux、Windows、IBM i]

MQCMD_CHANGE_PROT_POLICY (设置保护策略) 多平台上的 AMS

设置保护策略 (MQCMD_CHANGE_PROT_POLICY) PCF 命令使用 Advanced Message Security (AMS) 来设置保护策略。

重要信息: 必须安装 AMS 许可证才能发出此命令。 如果尝试在未安装 AMS 许可证的情况下发出 Set Policy 命令,那么会收到消息 AMQ7155 -找不到许可证文件或许可证文件无效。

语法图

请参阅 MQSC SET POLICY (set security policy) on Multiplatforms 命令中的语法图,以获取允许的参数和值的组合。

必需参数

PolicyName (MQCFST)
指定策略的名称。 策略名称必须与要保护的队列的名称匹配 (参数标识 :MQCA_POLICY_NAME)。

字符串的最大长度为 MQ_OBJECT_NAME_LENGTH。

可选参数

SignAlg (MQCFIN)
指定数字签名算法 (参数标识 :MQIA_SIGNATURE_ALGORITHM)。 有效值包括:
mqmlp_sign_alg_none
未指定数字签名算法。 这是缺省值。
MQMLP_SIGN_ALG_MD5
指定了 [不推荐][MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]MD5 数字签名算法。
MQMLP_SIGN_ALG_SHA1
指定了 [不推荐][MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]SHA1 数字签名算法。
MQMLP_SIGN_ALG_SHA256
指定了 SHA256 数字签名算法。
MQMLP_SIGN_ALG_SHA384
指定了 SHA384 数字签名算法。
MQMLP_SIGN_ALG_SHA512
指定了 SHA512 数字签名算法。
EncAlg (MQCFIN)
指定加密算法 (参数标识 :MQIA_ENCRYPTION_ALGORITHM)。 有效值包括:
mqmlp_encryption_alg_none
未指定加密算法。 这是缺省值。
MQMLP_ENCRYPTION_ALG_RC2
指定了 [不推荐]RC2 加密算法。
mqmlp_encryption_alg_des
指定了 DES 加密算法。
MQMLP_ENCRYPTION_ALG_3DES
指定了 3DES 加密算法。
MQMLP_ENCRYPTION_ALG_AES128
指定了 AES128 加密算法。
MQMLP_ENCRYPTION_ALG_AES256
指定了 AES256 加密算法。
签署者 (MQCFST)
指定授权签署者的专有名称。 可以多次指定此参数 (参数标识 :MQCA_SIGNER_DN)。
接收方 (MQCFST)
指定预期收件人的专有名称。 可以多次指定此参数 (参数标识 :MQCA_RECIPIENT_DN)。
强制实施和容许 (MQCFST)
指示是否应实施安全策略或是否允许不受保护的消息 (参数标识 :MQIA_ALLOWED-unprotected)。 有效值包括:
mqmlp_tolerate_no
指定从队列中检索时必须保护所有消息。 迂到的任何不受保护的消息都将移至 SYSTEM.PROTECTION.ERROR.QUEUE。 这是缺省值。
mqmlp_tolerate_yes
指定从队列中检索时不受保护的消息可以忽略策略。
容错是可选的,存在以促进分阶段实现,其中:
  • 策略已应用于队列,但这些队列可能已包含不受保护的消息,或者
  • 队列仍可能接收来自尚未设置策略的远程系统的消息。
KeyReuse (MQCFIN)
指定可复用加密密钥的次数,范围为 1-9,999,999 ,或特殊值 MQKEY_REUSE_DISABLEDMQKEY_REUSE_UNLIMITED (参数标识 :MQIA_KEY_USE_COUNT)。 有效值包括:
已禁用 mqkey_reuse_disabled
防止复用对称密钥。 这是缺省值。
mqkey_reuse_unlimited
允许任意次数复用对称密钥。
注意: 密钥复用仅对保密策略有效,即 SignAlg 设置为 MQESE_SIGN_ALG_NONEEncAlg 设置为算法值。 对于所有其他策略类型,必须省略该参数,或者将 Keyreuse 值设置为 MQKEY_REUSE_DISABLED
操作 (MQCFIN)
指定所提供参数的操作,因为它们适用于任何现有策略 (参数标识 :MQIACF_ACTION)。 有效值包括:
MQACT_REPLACE
将任何现有策略替换为提供的参数。 这是缺省值。
MQACT_ADD
具有签署者和接收方参数具有加法效应的效果。 即,如果指定了签署者或接收方,但该签署者或接收方尚未存在于预先存在的策略中,那么会将签署者或接收方值添加到现有策略定义中。
MQACT_REMOVE
具有 MQACT_ADD的相反效果。 即,如果指定的任何签署者或收件人值存在于预先存在的策略中,那么将从策略定义中除去这些值。

错误代码

除了在 适用于所有命令的错误代码中显示的值之外,此命令可能会在响应格式头中返回以下错误代码。

原因 (MQLONG)
值可以是以下任意值:
mqrccf_policy_type_error
策略类型无效。