IBM MQ MQCSP

news/2024/4/28 23:33:55/文章来源:https://blog.csdn.net/yangkei/article/details/128090716

一,概念

1.1 用途

用途:MQCSP 结构使授权服务能够验证用户 ID 和密码。您在 MQCONNX 调用上指定 MQCSP 连接安全参数结构。

警告:在某些情况下,客户端应用程序的 MQCSP 结构中的密码将以纯文本形式通过网络发送。要确保客户端应用程序密码得到适当保护,请参阅IBM MQ CSP 密码保护。

字符集和编码:MQCSP中的数据必须是本地队列管理器的字符集和编码;这些分别由CodedCharSetId队列管理器属性和 MQENC_NATIVE 给出。

在IBM® MQ 8.0中,您可以发送包含在 MQCSP 结构中的密码,这些密码要么通过使用IBM MQ功能进行保护,要么通过使用 TLS 加密进行加密。

1.2 MQCSP VS TLS

MQCSP 密码保护对于测试和开发目的很有用,因为使用 MQCSP 密码保护比设置 TLS 加密更简单,但不那么安全。出于生产目的,您应该优先使用 TLS 加密而不是IBM MQ 密码保护,尤其是当客户端和队列管理器之间的网络不受信任时,因为 TLS 加密更安全。

1.3 使用MQCSP场景

当满足以下所有条件时,使用密码保护:

  • 连接的两端都使用IBM MQ 8.0或更高版本。
  • 该通道未使用 TLS 加密。如果通道具有空白 SSLCIPH属性,或者SSLCIPH属性设置为不提供加密的 CipherSpec,则该通道未使用 TLS 加密。空密码(例如 NULL_SHA)不提供加密。
  • 您设置MQCSPAuthenticationType为 MQCSP_AUTH_USER_ID_AND_PWD。设置此值可以评估更多检查以确定是否完成密码保护。MQCSP的默认值 。AuthenticationType是 MQCSP_AUTH_NONE。默认设置下,不进行密码保护。有关详细信息,请参阅AuthenticationType
  • 如果客户端是IBM MQ Explorer 并且未启用用户标识兼容方式,这不是缺省值。此条件仅适用于IBM MQ Explorer。

如果不满足这些条件,密码将以纯文本形式发送,除非 PasswordProtection配置设置禁止。QCSP 结构

1.4 PasswordProtection

客户端和qm .ini 配置文件的 Channels 部分中的PasswordProtection属性可以防止以明文形式发送密码。该属性可以采用以下值之一。默认值是compatible

--------------------------------------------------------------------------------------------------------------------------

compatible:

如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,则可以以纯文本形式发送密码。也就是说,为了兼容性,允许使用明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么密码将以纯文本形式发送。密码以明文形式发送,因为早于IBM MQ 8.0的IBM MQ版本只能以明文形式发送密码。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本,并且使用空 CipherSpec 或未使用 TLS 加密,则密码将受到保护。MQCSP。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器和客户端都在IBM MQ 8.0或更高版本和 MQCSP上运行IBM MQ版本,则在发送密码之前连接失败。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。

always:

密码必须使用非空 CipherSpec 的 CipherSpec 或 MQCSP 加密。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。否则,连接失败。即不允许明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本,并且未使用 TLS 加密或使用空 CipherSpec,则密码将受到保护。MQCSP。AuthenticationType必须设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么在发送密码之前连接失败。由于IBM MQ 8.0之前的IBM MQ版本只能以明文形式发送密码,并且 要求对密码进行加密或保护,因此连接失败。

optional:

密码可以选择以受保护的方式发送,但如果是 MQCSP 则以纯文本形式发送。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。也就是说,允许任何客户端发送明文密码。

所以:

  • 如果使用 TLS 加密并且 CipherSpec 不为空,则密码由 TLS CipherSpec 加密发送。
  • 如果使用空 CipherSpec 和 MQCSP ,密码将以纯文本形式发送。AuthenticationType未设置为 MQCSP_AUTH_USER_ID_AND_PWD。
  • 如果队列管理器或客户端正在运行早于IBM MQ 8.0的IBM MQ版本,并且未使用 TLS 加密,那么密码将以纯文本形式发送。密码以明文形式发送,因为早于IBM MQ 8.0的IBM MQ版本只能以明文形式发送密码。
  • 如果队列管理器和客户端都 在IBM MQ 8.0或更高版本上运行IBM MQ版本、未使用 TLS 加密或使用空 CipherSpec 以及MQCSP ,则密码将被保护发送。AuthenticationType设置为 MQCSP_AUTH_USER_ID_AND_PWD。

warn:

允许任何客户端发送明文密码。如果收到明文密码,则会将一条警告消息 (AMQ9297) 写入队列管理器错误日志。

--------------------------------------------------------------------------------------------------------------------------

对于 Java 和 JMS 客户端,PasswordProtection属性的行为会根据使用兼容模式或 MQCSP 模式的选择而变化:

  • 如果 Java 和 JMS 客户端在兼容模式下运行,则 MQCSP 结构在连接处理期间不会流动。因此,PasswordProtection属性的行为与针对运行早于IBM MQ 8.0的IBM MQ 版本的客户端所描述的行为相同。
  • 如果 Java 和 JMS 客户端在 MQCSP 模式下运行,那么 PasswordProtection属性的行为就是所描述的行为。

二,MQCSP结构

MQCSP 结构

三,MQCSP 的 C 声明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38456.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MyBatis]一级缓存/二级缓存/三方缓存

缓存是一种临时存储少量数据至内存或者是磁盘的一种技术.减少数据的加载次数,可以降低工作量,提高程序响应速度 缓存的重要性是不言而喻的。mybatis的缓存将相同查询条件的SQL语句执行一遍后所得到的结果存在内存或者某种缓存介质当中,当下次遇到一模一样的查询SQL时…

【测试沉思录】18.如何测试微信小程序?

作者:雷远缘 编辑:毕小烦 一. 先知道小程序是什么 啥是小程序? “小程序是一种不需要下载安装即可使用的应用,它实现了应用 “触手可及” 的梦想,用户扫一扫或者搜一下即可打开应用。也体现了 “用完即走” 的理念&am…

Nodejs -- Express的安装和定义get、post方法

文章目录Express的基本使用1 安装2 基本使用3 监听GET请求4 监听POST请求5 把内容响应给客户端6 获取URL中携带的查询参数7 获取URL中的动态参数Express的基本使用 1 安装 在项目所处的目录中,运行如下的终端命令,即可将express安装到项目中使用&#…

SPARK数据分析

有了 DataFrame 之后,我们该如何在 DataFrame 之上做数据探索、数据分析,以及各式各样的数据转换呢?在数据处理完毕之后,我们又该如何做数据展示与数据持久化呢?今天这一讲,我们就来解答这些疑问。 为了给开…

【一文秒懂——Profile配置】

目录 1. Profile配置 2. 实例 1. Profile配置 Spring框架允许使用Profile配置,即某些“个性化配置文件”,这些配置文件默认并不会被应用,需要“激活”后才生效! 在Spring Boot项目中,简化了Profile配置的使用&…

怎么从零开始搭建配置Windows云服务器的新手入门教程

本文是搭建 Windows 云服务器入门教程,主要介绍如何从零开始,以最简单的方式搭建和配置你的Windows 云服务器。如果您之前没有搭建云服务器的经验,建议您按照本文介绍的方式来购买和配置您的第一台云服务器。 1、步骤1:注册腾讯云…

SpringBoot中自动配置

第一种: 给容器中的组件加上 ConfigurationProperties注解即可 测试: Component ConfigurationProperties(prefix "mycar") public class Car {private String brand;private Integer price;private Integer seatNum;public Integer getSeat…

流媒体传输 - RTMP 协议报文分析

握手之后,连接开始对一个或多个 chunk stream 进行合并。创建的每个块都有一个唯一 id 对其进行关联,这个 id 叫做 chunk stream id。这些块通过网络进行传输。传递时,每个块必须被完全发送才可以发送下一块。在接收端,这些块被根…

Python使用矩阵分解法推荐系统找到类似的音乐

这篇文章是如何使用几种不同的矩阵分解算法计算相关艺术家。最近我们被客户要求撰写关于的矩阵分解法推荐系统研究报告,包括一些图形和统计输出。代码用Python编写,以交互方式可视化结果。 加载数据 这可以使用Pandas加载到稀疏矩阵中: # r…

一文搞懂漏洞严重程度分析

漏洞的级别定义主要从两个维度进行判断; 1、可利用性 2、影响性 可利用性指标 可利用性指标组刻画脆弱性组件(即包含漏洞的事物)的特征,反映漏洞利用的难易程度和技术要求等。可利用性指标组包含四个指标,分别是攻击…

宝塔+LNMP平台=HTTP文件共享服务

前言 服务器有几十个G都没利用,太浪费了,本着共产主义万岁的思想,准备搭建一个超级简单的基于宝塔上的HTTP文件共享服务器。 搭建 我的宝塔是基于LNMP平台搭建的网站。 进入宝塔管理 新建一个站点(纯静态,无数据库…

最基础的协同过滤介绍

文章目录1.到底什么是协同过滤2.协同过滤的一般步骤3.基于用户的CF (User-CF)3.1 基本介绍3.2 用户相似度3.2.1 用户相似度基本介绍3.2.2 用户相似度改进:ICU3.3 User-CF的缺点4.基于项目的CF (Item-CF)4.1 基本介绍4.2 用户相似度4.2.1 用户相似度基本介绍4.2.2 用…

Spark系列之Spark应用程序运行机制

title: Spark系列 第六章 Spark应用程序运行机制 6.1 Spark的基本运行流程 Spark任务的核心执行流程主要分为四大步骤: Driver工作:Build DAG DAGScheduler工作:Split DAG to Stage TaskScheduler工作:Change Stage to TaskSet…

右键实现打开对应的软件

右键实现打开对应的软件前言:下面我以右键打开Pycharm为例子!!!一、打开注册表1.1 WinR,输入regedit,回车二、实现右键打开特定文件的效果2.1找到路径:计算机\HKEY_CLASSES_ROOT\*\shell2.2 创建文件夹2.3 …

Spark系列之Spark启动与基础使用

title: Spark系列 第三章 Spark启动与基础使用 3.1 Spark Shell 3.1.1 Spark Shell启动 安装目录的bin目录下面,启动命令: spark-shell$SPARK_HOME/bin/spark-shell \ --master spark://hadoop10:7077 \ --executor-memory 512M \ --total-executor-…

【Python】一、Python程序运行方式

文章目录实验目的一、熟悉Python的安装二、熟悉PyCharm安装三、启动IDLE,进入Python Shell,熟悉环境,运行教材案例:输出“hello world!”四、打开“命令提示符”窗口,使用pip安装管理pygame、numpy等第三方…

神经网络和深度学习-加载数据集DataLoader

加载数据集DataLoader Dataloader的概念 dataloader的主要目标是拿出Mini-Batch这一组数据来进行训练 在处理多维特征输入这一文章中,使用diabetes这一数据集,在训练时我们使用的是所有的输入x,在梯度计算采用的是随机梯度下降&#xff08…

用 Java 实现爬虫 (爬取本地html中的人物信息并可视化人物关系)

目录 爬虫简介 常用的工具框架 selenium Jsoup Jsoup介绍 Jsoup的主要功能如下: HTML 相关知识 通过Jsoup元素获取 案例 爬取本地html中的角色信息 HtmlParseUtil 可以利用relation-graph 将人物关系可视化 使用爬虫要注意 查看网站的爬虫协议 爬虫简介…

黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)

写在前面的话 没啥好说的,只需要感谢在GitHub上开源代码的巴西老哥就好,好了废话不多说直接开始。 黑群晖DSM7.X引导用arpl编译教程写在前面的话一、需要的软硬件清单二、制作引导盘1、下载arpl镜像2.1.1、制作PE启动盘,这是使用msata硬盘或…

胎儿产科生长发育曲线 ,体重估计,公式和绘图、参考文献、python代码

1. 参考资料 Leung TN, Pang MW, Daljit SS, Leung TY, Poon CF, Wong SM, Lau TK. Fetal biometry in ethnic Chinese: biparietal diameter, head circumference, abdominal circumference and femur length. Ultrasound Obstet Gynecol. 2008 Mar;31(3):321-7. doi: 10.1002…