IBM MQ 代码特征符
对于 IBM® MQ 9.4,将对可下载的 .zip和 .tar.gz 文件进行签名。 还会对可安装的 .rpm 和 .deb 文件进行签名。 在可能的情况下,会将特征符嵌入到文件中。 对于不允许此操作的文件格式,将提供单独的 .sig 文件,其中包含用于验证签名和公用密钥的签名和公用密钥。
IBM MQ 公共证书、校验和、pgp 密钥和.sig 文件可从 https://ibm.biz/mq94signatures 的额外下载包中下载。
*.zip 文件
.zip 文件表单中的 IBM MQ 可交付内容包含可使用最新 Java Development Kit (JDK) 进行验证的嵌入式数字签名,如以下示例中所示:
jarsigner -certs -verify 9.4.0.0-IBM-MQC-Redist-Java.zip
jar verified.注: 可以通过使用详细选项运行来找到更多详细信息 (包括签署者)。
*.tar.gz 文件
*.tar.gz 文件表单中的 IBM MQ 可交付件由 IBM MQ 签署,其数字签名在额外的可下载包中提供。 要验证文件的特征符,请使用 openssl ,如以下 9.4.0.0-IBM-MQC-Redist-LinuxX64.tar.gz示例中所示:
openssl dgst -sha256 -verify ibm_mq_public.pem -signature 9.4.0.0-IBM-MQC-Redist-LinuxX64.tar.gz.sig 9.3.0.0-IBM-MQC-Redist-LinuxX64.tar.gz
Verified OK
* .rpm
IBM提供的 RPM 使用数字签名进行签名,如果没有授权,系统将无法识别签名密钥。 从额外的可下载软件包中获取 IBM MQ 公用签名 gpg 密钥,并将其安装到 rpm 中。 每个系统只需要执行一次此操作。
rpm --import ibm_mq_public.pgp然后,可以验证任何 IBM MQ RPM 的有效性,例如:
# rpm -Kv MQSeriesRuntime-9.4.0-0.x86_64.rpm
MQSeriesRuntime-9.4.0-0.x86_64.rpm:
Header V3 RSA/SHA256 Signature, key ID 0209b828: OK
Header SHA1 digest: OK
V3 RSA/SHA256 Signature, key ID 0209b828: OK
MD5 digest: OK
注: 如果跳过此步骤,那么在 RPM 安装期间可能会发出无害警告以指示存在签名,但系统无法识别签名密钥,例如:
警告: MQSeriesRuntime-9.4.0-0.x86_64.rpm: 头 V3 RSA/SHA256 签名,密钥标识 0209b828: NOKEY
* .deb
IBM 提供的 debian 类型包使用嵌入式数字签名进行签名。 要验证软件包,您将需要来自其他软件包的 IBM MQ 公用签名 gpg 密钥以及已安装的 "debsigs" 操作系统软件包。
- 导入 gpg 键并标识其 gpg 键值:
# gpg --import ibm_mq_public.pgp gpg: keybox '/root/.gnupg/pubring.kbx' created gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key D2D53B4E0209B828: public key "IBM MQ signing key <psirt@us.ibm.com>" imported gpg: Total number processed: 1 gpg: imported: 1由此,密钥值将为
D2D53B4E0209B828,证书别名将为 "IBM MQ signing key <psirt@us.ibm.com>"。 以下指示信息使用这些值-将它们替换为从导入中计算的值。 - 将证书别名导出到系统密钥环中:
mkdir /usr/share/debsig/keyrings/D2D53B4E0209B828/ cd /usr/share/debsig/keyrings/D2D53B4E0209B828/ gpg --output IBMMQ.bin --export "IBM MQ signing key <psirt@us.ibm.com>" - 设置系统以对该密钥启用签名策略:
在此目录中创建具有以下内容的名为 IBM-MQ.pol 的文件。 请注意,只有 "id" 字段需要更改为步骤 1 中的键值。mkdir /etc/debsig/policies/D2D53B4E0209B828/ cd /etc/debsig/policies/D2D53B4E0209B828/<?xml version="1.0"?> <!DOCTYPE Policy SYSTEM "https://www.debian.org/debsig/1.0/policy.dtd"> <Policy xmlns="https://www.debian.org/debsig/1.0/"> <Origin Name="IBM MQ signing key" id="D2D53B4E0209B828" Description="IBM MQ signing key"/> <Selection> <Required Type="origin" File="IBMMQ.bin" id="D2D53B4E0209B828"/> </Selection> <Verification MinOptional="0"> <Required Type="origin" File="IBMMQ.bin" id="D2D53B4E0209B828"/> </Verification> </Policy> - 使用 debsig-verify 实用程序分别验证软件包:
# debsig-verify ibmmq-runtime_9.4.0.0_amd64.deb debsig: Verified package from 'IBM MQ signing key' (IBM MQ signing key)
注: 虽然可以配置 dpkg 以在安装期间验证签名,但建议不要这样做,因为这将导致 dpkg 拒绝安装未签名的 Debian 文件。