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 開発キット (JDK) を使用して検証できる組み込みデジタル署名が含まれています。
jarsigner -certs -verify 9.4.0.0-IBM-MQC-Redist-Java.zip
	jar verified.
注: 詳細オプションを指定して実行すると、署名者を含む詳細が表示されます。

*.tar.gz ファイル

*.tar.gz ファイル・フォーム内の IBM MQ 成果物は、IBM MQ によって署名され、そのデジタル署名は追加のダウンロード可能パッケージで提供されます。 ファイルの署名を検証するには、以下の 9.4.0.0-IBM-MQC-Redist-LinuxX64.tar.gzの例に示すように、 openssl を使用します。
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 にインストールします。 これは、システムごとに 1 回だけ行う必要があります。
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 署名、鍵 ID 0209b828: NOKEY

*.deb

IBM 提供の debian タイプ・パッケージは、組み込みデジタル署名付きで署名されています。 パッケージを検証するには、追加パッケージの IBM MQ 公開署名 gpg キーと、「debsigs」オペレーティング・システム・パッケージがインストールされている必要があります。
  1. 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>」になります。 以下の手順では、これらの値を使用します。これらの値は、インポートから計算された値に置き換えてください。

  2. 証明書別名をシステム鍵リングにエクスポートします。
    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. システムをセットアップして、この鍵の署名ポリシーを有効にします。
    mkdir /etc/debsig/policies/D2D53B4E0209B828/
    cd /etc/debsig/policies/D2D53B4E0209B828/
    
    このディレクトリーに IBM-MQ.pol というファイルを作成し、以下の内容を含めます。 ステップ 1 のキー値に変更する必要があるのは「id」フィールドのみであることに注意してください。
    <?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. 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 ファイルのインストールを拒否する原因となるため、お勧めできません。