Vérification de la signature des packages MQ sous Linux

Signature des binaires IBM MQ

Depuis la version 9.2.3, les packages d’installation MQ sont signés, afin que l’on puisse vérifier leur non-modification.
Pour vérifier la signature des packages, il faut installer sur le serveur la clé pgp d’IBM.

Lors de l’installation, rpm vérifie que la signature des package a été contrôlée au préalable. Si ce n’est pas le cas, un message de warning est émis pour chaque package :

Warning : package “MQSeriesRuntime” is signed but key is not installed on this system.
rpm verify shows “Header V4 RSA/SHA256 Signature, key ID 07b22880: NOKEY”
rpm warning message may have been issued at install time.
See topic “IBM MQ code signatures” in the IBM MQ documentation for more information.

Pour éviter ces messages, il faut donc vérifier la signature des packages avant installation

Installation de la clé pgp IBM

Cette clé est disponible dans le package 9.4.0.5-IBM-MQ-Sigs-Certs.tar.gz, téléchargeable depuis https://ibm.biz/mq94signatures
La clé à installer est ibm_mq_public.pgp, la commande à passer est :

rpm --import ibm_mq_public.pgp

Vérification de la signature des packages

La commande rpm -Kv permet de vérifier la signature d’un package, en mode verbose. Exemple :

rpm -Kv MQSeriesRuntime-9.4.0-0.x86_64.rpm
MQSeriesRuntime-9.4.0-0.x86_64.rpm:
Header V4 RSA/SHA256 Signature, key ID 07b22880: OK
Header SHA256 digest: OK
Header SHA1 digest: OK
Payload SHA256 digest: OK
V4 RSA/SHA256 Signature, key ID 07b22880: OK
MD5 digest: OK

Il est aussi possible de vérifier en une seule commande la signature de tous les packages :

rpm -K MQSeries*
MQSeriesAMQP-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesAMS-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesClient-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesFTAgent-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesFTBase-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesFTLogger-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesFTService-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesFTTools-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesGSKit-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesJava-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesJRE-9.4.0-5.x86_64.rpm: digests signatures OK
MQSeriesMan-9.4.0-5.x86_64.rpm: digests signatures OK

Installation des package MQ

Une fois les signatures vérifiées, il est possible d’installer les packages IBM sans les messages de warning :

rpm -Uvh MQSeries*.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:MQSeriesRuntime-9.4.0-5 ################################# [ 3%]
2:MQSeriesJava-9.4.0-5 ################################# [ 6%]
3:MQSeriesJRE-9.4.0-5 ################################# [ 10%]
4:MQSeriesFTBase-9.4.0-5 ################################# [ 13%]
5:MQSeriesGSKit-9.4.0-5 ################################# [ 16%]
6:MQSeriesServer-9.4.0-5 ################################# [ 19%]

Référence : https://www.ibm.com/docs/en/ibm-mq/9.4?topic=overview-mq-code-signatures