証明書の検証

VPC の IBM Cloud Hyper Protect Virtual Servers は非推奨。 2026年2月28日現在、新しいインスタンスを作成することはできない。 既存のインスタンスは、2027年2月20日までサポートされます。 その日付にまだ存在するインスタンスはすべて削除されます。 IBM Confidential Computing Container Runtime(旧称: Hyper Protect Virtual Servers )または IBM Confidential Computing Container Runtime for Red Hat Virtualization Solutions(旧称:Hyper Protect Container Runtime for Red Hat Virtualization Solutions )を使用して、ワークロードを再デプロイできます。 データ移行については、 移行ガイドを 参照してください。 詳しくは、 サービス廃止のお知らせを ご覧ください。

契約の暗号化と認証のためにダウンロードした証明書を検証できます。

証明書のダウンロード

以下の証明書をダウンロードします。

  • DigiCert 証明書を取得します。 DigiCert Trusted Root G4 証明書は ここからダウンロードできます。Digicert G4 中間証明書は ここからダウンロードできます。
  • IBM 中間証明書を取得します。 以下の表に、イメージのバージョンに基づく中間証明書の有効期限日付をリストします。

2025年3月25日以降、証明書リンクが変更される。

中間証明書の有効期限
イメージのバージョン 証明書リンク 有効期限日付
ibm-hyper-protect-container-runtime-1-0-s390x-29 証明書 2027年08月03日
ibm-hyper-protect-container-runtime-1-0-s390x-28 証明書 2027年08月03日
ibm-hyper-protect-container-runtime-1-0-s390x-26 証明書 2027年08月03日
ibm-hyper-protect-container-runtime-1-0-s390x-25 証明書 2027年08月03日
  • 契約の暗号化と認証には、ハイパープロテクト・コンテナ・ランタイム・イメージに対応する証明書を使用してください。

契約暗号化証明書の検証

暗号化証明書を検証するには、 Ubuntu システムで以下のステップを実行します。

  1. CA証明書を確認するには、次のコマンドを実行してください:

    openssl verify -crl_download -crl_check DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem
    
  2. 以下のコマンドを使用して、署名鍵証明書を検証します。

    openssl verify -crl_download -crl_check -untrusted DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt
    

    OpenSSL コマンドの実行に失敗した場合は、 CRL を ダウンロードし、以下のコマンドを使用して証明書を手動で検証する:

    openssl verify -untrusted DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem -CRLfile DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt
    
  3. 暗号化証明書文書の署名を検証するには、次の手順を完了してください:

    1. 公開署名鍵をファイルに抽出します。 次の例では、ファイル名は「 pubkey.pem 」となっています:
       openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt -pubkey -noout >  pubkey.pem
    
    1. 暗号化証明書文書から暗号鍵署名を抽出します。 暗号化証明書をダウンロードするには、 「暗号化証明書のダウンロードと公開鍵の抽出」 を参照してください。 以下のコマンドは、シグニチャーのオフセット値を返します。
       openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt | tail -1 | cut -d : -f 1
    

    コマンドの出力が <offset_value> であるとします。 この <offset_value> を使用して、シグニチャーと呼ばれるファイルに暗号鍵シグニチャーを抽出します。

    openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt -out signature -strparse <offset_value> -noout
    
    1. 暗号化証明書文書の本文を、本文というファイルに抽出します。
       openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt -out body -strparse 4 -noout
    
    1. 署名ファイルと本文ファイルを使用して署名を検証します。
       openssl sha512 -verify pubkey.pem -signature signature body
    
  4. 証明書の発行者を確認する。 以下の 2 つのコマンドの出力を比較します。 出力は一致する必要がある。

    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt  -issuer -noout
    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt -subject -noout
    
  5. 以下のコマンドの出力をチェックして、暗号化証明書文書が有効であることを確認する:

    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt -dates -noout
    

認証証明書の検証

Ubuntu システムで以下のステップを実行して、認証証明書を検証します。

  1. CA証明書を確認するには、次のコマンドを実行してください:

    openssl verify -crl_download -crl_check DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem
    
  2. 以下のコマンドを使用して、署名鍵証明書を検証します。

    openssl verify -crl_download -crl_check -untrusted DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt
    

    OpenSSL コマンドの実行に失敗した場合は、 CRL を ダウンロードし、以下のコマンドを使用して証明書を手動で検証する:

    openssl verify -untrusted DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem -CRLfile DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt
    
  3. 証明書文書の署名を確認するには、次の手順を実行します。

    1. 公開署名鍵をファイルに抽出します。 次の例では、ファイル名は「 pubkey.pem 」となっています:
       openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt -pubkey -noout >  pubkey.pem
    
    1. 認証証明書文書から認証鍵の署名を抽出します。 証明書をダウンロードするには、 Attestation にアクセスしてください。 以下のコマンドは、シグニチャーのオフセット値を返します。
       openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt | tail -1 | cut -d : -f 1
    

    コマンドの出力が <offset_value> であるとします。 この <offset_value> を使用して、シグニチャーと呼ばれるファイルに認証鍵シグニチャーを抽出します。

    openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt -out signature -strparse <offset_value> -noout
    
    1. 認証証明書文書の本文を、body というファイルに抽出します。
       openssl asn1parse -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt -out body -strparse 4 -noout
    
    1. 署名ファイルと本文ファイルを使用して署名を検証します。
       openssl sha512 -verify pubkey.pem -signature signature body
    
  4. 証明書の発行者を確認する。 以下の 2 つのコマンドの出力を比較します。 出力は一致する必要がある。

    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt -issuer -noout
    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt -subject -noout
    
  5. 以下のコマンドの出力を調べて、認証証明書文書がまだ有効であることを確認します。

    openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt -dates -noout
    

証明書失効リスト

証明書には、 証明書失効リスト (CRL) 配布ポイントが含まれています。 CRL を使用して、証明書が有効である (取り消されていない) ことを確認できます。

  1. 証明書または暗号化証明書から CRLURLを抽出し、ダウンロードする:

    openssl x509 -in "ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt" -noout -ext crlDistributionPoints
    crl_url=https://ibm.biz/hyper-protect-container-runtime-0b8907-crl-1 # (example)
    curl --location --silent "$crl_url" --output "ibm-hyper-protect-container-runtime.crl"
    
  2. CRL が有効であることを確認します (有効な日付と発行者を確認してください)。

    openssl crl -text -noout -in "ibm-hyper-protect-container-runtime.crl"
    
  3. CRL 署名を検証します。

    openssl x509 -in "ibm-hyper-protect-container-runtime-1-0-s390x-29-intermediate.crt" -pubkey -noout -out pubkey
    bbegin="$(openssl asn1parse -in "ibm-hyper-protect-container-runtime.crl" | head -2 | tail -1 | cut -d : -f 1)"
    bend="$(openssl asn1parse -in "ibm-hyper-protect-container-runtime.crl" | tail -1 | cut -d : -f 1)"
    openssl asn1parse -in "ibm-hyper-protect-container-runtime.crl" -out signature -strparse $bend -noout
    openssl asn1parse -in "ibm-hyper-protect-container-runtime.crl" -out body -strparse $bbegin -noout
    openssl sha512 -verify pubkey -signature signature body
    
  4. 暗号化証明書が有効であることを確認してください:

    1. 暗号化証明書からシリアルを抽出します。
       openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-encrypt.crt -noout -serial
    

    以下の出力例をご覧ください:

    serial=C775927D9F86D27D369FAC42B05144AA
    
    1. 以下のコマンドを実行して、「serial」の値をエクスポートします。
       export serial=C775927D9F86D27D369FAC42B05144AA
    

    以下のコマンドを実行することで、値が設定されているかどうかを確認できます:

    echo $serial
    
    1. 証明書が CRL 内にリストされていないことを確認します。
       openssl crl -text -noout -in "ibm-hyper-protect-container-runtime.crl" | grep -q "$serial" && echo REVOKED || echo OK
    

    以降の暗号化には、取り消された暗号化証明書文書を使用してはなりません。

  5. 認証証明書が有効であることを確認してください:

    1. 認証証明書からシリアルを抽出します。
       openssl x509 -in ibm-hyper-protect-container-runtime-1-0-s390x-29-attestation.crt -noout -serial
    

    以下の出力例をご覧ください:

    serial=B659E74BC091042416960F5AB9410D3F
    
    1. 以下のコマンドを実行して、「serial」の値をエクスポートします。
       export serial=B659E74BC091042416960F5AB9410D3F
    

    以下のコマンドを実行することで、値が設定されているかどうかを確認できます:

    echo $serial
    
    1. 証明書が CRL 内にリストされていないことを確認します。
       openssl crl -text -noout -in "ibm-hyper-protect-container-runtime.crl" | grep -q "$serial" && echo REVOKED || echo OK
    

    取り消された認証証明書文書を持つイメージを開始してはなりません。