Firmas de código IBM MQ

Para IBM® MQ 9.4, los archivos descargables .zipy .tar.gz están firmados. Los archivos .rpm y .deb instalables también están firmados. Siempre que sea posible, la firma se incrusta en el archivo. Para los formatos de archivo que no lo permiten, se pone a disposición un archivo .sig independiente que contiene las firmas y las claves públicas para verificarlas.

IBM MQ certificados públicos, sumas de comprobación, pgp claves y .sig archivos pueden descargarse de los paquetes de descarga extra en https://ibm.biz/mq94signatures.

Archivos *.zip

Los entregables de IBM MQ en el formulario de archivo .zip contienen una firma digital incorporada que se puede verificar utilizando un JDK ( Java Development Kit) reciente, tal como se muestra en el ejemplo siguiente:
jarsigner -certs -verify 9.4.0.0-IBM-MQC-Redist-Java.zip
	jar verified.
Nota: Se pueden encontrar más detalles, incluido el firmante, ejecutando con la opción verbosa.

*. Archivostar.gz

Los entregables de IBM MQ en el formulario de archivo *.tar.gz están firmados por IBM MQ y sus firmas digitales se proporcionan en el paquete descargable adicional. Para verificar la firma de un archivo, utilice openssl tal como se muestra en el ejemplo siguiente para 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

Los RPM proporcionados por IBMse firman con una firma digital y los sistemas no reconocerán la clave de firma sin que se autorice. Obtenga la clave gpg de firma pública de IBM MQ del paquete descargable adicional e instálelo en rpm. Esto sólo tiene que hacerse una vez por sistema.
rpm --import ibm_mq_public.pgp
A continuación, se puede verificar la validez de cualquiera de los RPM de IBM MQ , por ejemplo:
# 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
Nota: Si omite este paso, es posible que se emita un aviso inofensivo durante la instalación de RPM para indicar que hay una firma pero el sistema no reconoce la clave de firma, por ejemplo:
aviso: MQSeriesRuntime-9.4.0-0.x86_64.rpm: Header V3 RSA/SHA256 Signature, ID de clave 0209b828: NOKEY

*.deb

Los paquetes de tipo debian proporcionados por IBM se firman con una firma digital incorporada. Para verificar un paquete, necesitará la clave gpg de firma pública IBM MQ del paquete adicional y el paquete del sistema operativo "debsigs" instalado.
  1. Importe la clave gpg e identifique su valor de clave 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
    

    A partir de esto, el valor de clave sería D2D53B4E0209B828 y el alias de certificado sería "IBM MQ signing key <psirt@us.ibm.com>". Las instrucciones siguientes utilizan estos valores: Sustitúyalos por los calculados a partir de la importación.

  2. Exporte el alias de certificado a los conjuntos de claves del sistema:
    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>"
    
  3. Configure el sistema para habilitar una política de firma para esta clave:
    mkdir /etc/debsig/policies/D2D53B4E0209B828/
    cd /etc/debsig/policies/D2D53B4E0209B828/
    
    Cree un archivo denominado IBM-MQ.pol en este directorio con el contenido siguiente. Tenga en cuenta que sólo los campos 'id' necesitan cambiar al valor de clave del paso 1.
    <?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>
    
  4. Valide los paquetes individualmente utilizando el programa de utilidad debsig-verify:
    # debsig-verify ibmmq-runtime_9.4.0.0_amd64.deb
    debsig: Verified package from 'IBM MQ signing key' (IBM MQ signing key)
    
Nota: Aunque es posible configurar dpkg para verificar firmas durante la instalación, esto no es aconsejable, ya que hará que dpkg rechace la instalación de archivos Debian no firmados.