PQC ツールキットセットアップガイド

このガイドは PQC ツールキット用です。DigiCert PQC Docker 化ツールキットのセットアップ方法は、「PQC Docker 化ツールキットガイド」を参照してください。

はじめに

DigiCert のポスト量子暗号 (PQC) ツールキットには、ハイブリッド TLS 証明書を作成するのに必要なすべてが収録されています。このハイブリッド証明書は、従来型の暗号アルゴリズムと組み合わせてポスト量子暗号アルゴリズムを使用することで、ポスト量子ハイブリッド TLS 証明書のデプロイの利用強度を、後方互換性も維持しながら、試験することができます。

この最初の繰り返しについて、ポスト量子暗号アルゴリズムは、楕円曲線暗号アルゴリズムと組み合わせます。

このセットアップガイドにしたがって DigiCert PQC ツールキットを使用し、以下の操作を行います。

  • ISARA PQC パッチを OpenSSL ソースファイルに適用する。
  • 修正済 OpenSSL プログラムを構成する。
  • ポスト量子暗号鍵を生成する。
  • ルート、中間およびサーバー証明書を含む、完全ハイブリッド証明書チェーンを作成する。
  • OpenSSL の s_servers_client ユーティリティを使用して、証明書を試験する。

DigiCert PQC ツールキットは、すべてのグローバル サーバー ID 顧客向けにダウンロード利用が可能です。各グローバル サーバー ID 証明書の収録内容についてもっとみる.

PQC ツールキット内容

DigiCert PQC ツールキットには、以下の3つのファイルが収録されています。

  • ISARA Catalyst OpenSSL コネクタ
  • 修正済 openssl.cnf
  • 証明書構成ファイル
  • ハイブリッド証明書チェーンの例

前提条件

このガイドの使用前に、以下の前提条件が満たされていることを確認します。

  • DigiCert PQC ツールキットリソースファイルにアクセスする
  • 64 ビット Ubuntu 16.04 またはそれ以降 (このガイドは Ubuntu 18.04 LTS で作成)
  • sudo アクセスのあるルート以外のユーザー

お使いのシステムまたは生産環境を問題から保護するため、サンドボックスまたは仮想環境を使用して、以下のステップに従うことを推奨します。

環境を準備する

ファイルのダウンロードとパッチ修正をする前に、かんきゅおを準備します。

はじめに、必要な依拠性とツールをインストールします。

bash
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y install curl unzip make cmake gcc wget zlib1g-dev libjansson-dev

次に、ソースファイルとツールキットリソースをダウンロードおよびコンパイルするディレクトリ構造を作成します。

bash
mkdir -p /app/digicert-pqc/connector
mkdir -p /app/digicert-pqc/certs/configs
mkdir /app/resources

ツールキットをダウンロードおよび抽出する

ここで、DigiCert PQC ツールキットをダウンロードし、そのコンテンツを抽出します。

PQC ツールキットをダウンロードする

  1. CertCentral アカウントに サインイン します。

  2. サイドバーメニューで、[証明書] > [オーダー]の順でクリックします。

  3. [オーダー]ページで、グローバル サーバー ID .証明書オーダーを探し、オーダー番号をクリックします。

  4. [証明書のオーダー詳細]ページで、[PQC ツールキット]をクリックします。

  5. [ポスト量子暗号 (PQC)]ページで、ISARA PQC ツールキットをダウンロードする] をクリックし、ツールキットを /app/resources ディレクトリに保存します。

PQC ツールキットファイルを抽出する

次に、ツールキットからコンテンツを抽出します。

bash
cd /app/resources
unzip ./DigiCert_PQC_Toolkit.zip

PQC ツールキットには、ISARA OpenSSL コネクタアーカイブが収録されています。これを /app/digicert-pqc/connectorに抽出します。

bash
cd /app/digicert-pqc/connector
tar xzvf /app/resources/digicert-pqc-toolkit_2019-07-26/openssl_connector-Linux-2019-05-27.tgz

OpenSSL をパッチ修正およびコンパイルする

環境をセットアップしすべてのファイルを抽出した後、OpenSSL をパッチ修正してコンパイルします。

はじめに、OpenSSL バージョン 1.0.2r を /app/resources ディレクトリにダウンロードします。

bash
cd /app/resources
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2r.tar.gz

次に、ソースファイルを /app/digicert-pqc ディレクトリに抽出します。

bash
cd /app/digicert-pqc
tar xzvf /app/resources/openssl-1.0.2r.tar.gz

ここで、ISARA OpenSSL パッチを抽出したソースファイルに適用します。これで、OpenSSL が量子的に安全な暗号アルゴリズムを生成および解釈するのに必要な修正がすべて整います。

bash
cd openssl-1.0.2r/
patch -p2 < ../connector/OpenSSL_1_0_2r_ISARA.patch

パッチ修正の終了後、既存の openssl.cnf ファイルとツールキットの修正済バージョンと入れ替えます。この修正済 config ファイルには、ISARA OpenSSL IQREngine に向いたダイナミックエンジンエントリが含まれています。

bash
cp /app/resources/digicert-pqc-toolkit_2019-07-26/openssl.cnf ./apps

次に、 ISARA OpenSSL IQREngine の場所に向くように、修正済 config ファイルの編集が必要です。

  1. コピーした openssl.cnf ファイルをふだんお使いのテキストエディタで開きます。

bash
vi ./apps/openssl.cnf
  1. dynamic_path エントリをライン 32 で探します。

  2. エントリを以下に変更します。

bash
dynamic_path = /app/digicert-pqc/connector/lib/libiqre_engine.so
  1. ファイルを保存して閉じます。

お客様は現在、共有 OpenSSL ライブラリを作成しているため、ソースファイルのコンパイルの前に、非標準パスの構成が必要です。

bash
./config --prefix=/app/digicert-pqc/pqpki-openssl-1.0.2r --openssldir=/app/digicert-pqc/pqpki-openssl-1.0.2r shared

ここで、下のコマンドそれぞれを一度に1個ずつ実行し、修正済ソースファイルをコンパイルします。

bash
make depend
make all
sudo make install

修正済 OpenSSL ソースのコンパイルが成功した後、LD_LIBRARY_PATH 変数を使用して、2つのダイナミックライブラリの場所を指定します。このことから、お使いのシステムは、量子的に安全な暗号アルゴリズムの処置に使用する修正済 OpenSSL 共有ライブラリおよび ISARA PQC エンジン の両方をどこで探すかを確認します。

bash
export LD_LIBRARY_PATH=/app/digicert-pqc/pqpki-openssl-1.0.2r:/app/digicert-pqc/connector/lib

お使いのシステムが LD_LIBRARY_PATH 変数をすでに使用している場合、 :$LD_LIBRARY_PATH を上記のコマンドに付加し、破壊的ではない方法で、新しいパスを追加します。

ハイブリッド証明書チェーンを作成する

これで、量子的に安全な暗号アルゴリズムを生成および復号できる OpenSSL プログラムができます。機能を試験できるように、ハイブリッド証明書チェーン(ルート、中間、およびサーバー証明書)を作成する準備が完了しています。

はじめに、PQC ツールキットを /app/digicert-pqc/certs ディレクトリに含めた証明書構成ファイルをコピーします。これらの構成ファイルには、各証明書申請と証明書を生成するのに必要な情報がすべて含まれています。

bash
cd /app/digicert-pqc/certs
cp /app/resources/digicert-pqc-toolkit_2019-07-26/certificates/root_req.cfg ./configs
cp /app/resources/digicert-pqc-toolkit_2019-07-26/certificates/intermediate_req.cfg ./configs
cp /app/resources/digicert-pqc-toolkit_2019-07-26/certificates/server_req.cfg ./configs

秘密鍵と公開鍵を生成します。

次に、チェーン内の各証明書について、量子的に安全な秘密鍵を生成し、修正済 OpenSSL プログラムおよび IQREngine の使用を確認します。

ルート秘密鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl genpkey -engine IQREngine -algorithm xmss -pkeyopt tree_height:10 -pkeyopt strategy:cpu_constrained -pkeyopt state_filename:xmss_catalyst_mixed_chain_root_private_key_state.bin -out xmss_catalyst_mixed_chain_root_private_key.pem

中間秘密鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl genpkey -engine IQREngine -algorithm dilithium -pkeyopt parameter_set:A -out dilithium_catalyst_mixed_chain_intermediate_private_key.pem

サーバー秘密鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl genpkey -engine IQREngine -algorithm rainbow -pkeyopt parameter_set:A -out rainbow_catalyst_mixed_chain_private_key.pem

各証明書の秘密鍵を生成したら、その公開鍵を抽出します。

ルート公開鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl pkey -engine IQREngine -in xmss_catalyst_mixed_chain_root_private_key.pem -pubout -out xmss_catalyst_mixed_chain_root_public_key.pem

中間公開鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl pkey -engine IQREngine -in dilithium_catalyst_mixed_chain_intermediate_private_key.pem -pubout -out dilithium_catalyst_mixed_chain_intermediate_public_key.pem

サーバー公開鍵:

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl pkey -engine IQREngine -in rainbow_catalyst_mixed_chain_private_key.pem -pubout -out rainbow_catalyst_mixed_chain_public_key.pem

ECC 混合チェーン証明書用に曲線を選択します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl ecparam -out ecdsa_catalyst_mixed_chain_parameters.pem -name secp384r1

CSR を作成し、証明書を生成します。

すべての暗号キーを生成した場合、チェーンの各証明書について CSR を作成し、ルート、中間およびサーバー証明書を生成する準備が完了します。

はじめに、ルート発行者用の CSR を作成します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl req -new -newkey ec:ecdsa_catalyst_mixed_chain_parameters.pem -keyout ecdsa_without_xmss_catalyst_mixed_chain_root_private_key.pem -out ecdsa_without_xmss_x509_catalyst_mixed_chain_root_req.pem -config ./configs/root_req.cfg -nodes

次に、ルート用の自己署名証明書 X509 の作成が必要です。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509 -req -set_serial 8026 -extfile ./configs/root_req.cfg -in ecdsa_without_xmss_x509_catalyst_mixed_chain_root_req.pem -signkey ecdsa_without_xmss_catalyst_mixed_chain_root_private_key.pem -out ecdsa_without_xmss_x509_catalyst_mixed_chain_root_certificate.pem

その後、ルート証明書をハイブリッドルート証明書に拡張します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509QSDirectExtend -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -x509in ecdsa_without_xmss_x509_catalyst_mixed_chain_root_certificate.pem -x509out xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem -privin ecdsa_without_xmss_catalyst_mixed_chain_root_private_key.pem -pubqs xmss_catalyst_mixed_chain_root_public_key.pem -privqs xmss_catalyst_mixed_chain_root_private_key.pem::xmss_catalyst_mixed_chain_root_private_key_state.bin -privqs_engine

これで、中間証明書用に CSR を作成することができます。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl req -new -newkey ec:ecdsa_catalyst_mixed_chain_parameters.pem -keyout ecdsa_without_dilithium_catalyst_mixed_chain_intermediate_private_key.pem -out ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_req.pem -config ./configs/intermediate_req.cfg -nodes

中間証明書 CSR をハイブリッド CSR に拡張します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl reqQSExtend -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -reqin ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_req.pem -reqout dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_req.pem -privin ecdsa_without_dilithium_catalyst_mixed_chain_intermediate_private_key.pem -pubqs dilithium_catalyst_mixed_chain_intermediate_public_key.pem -privqs dilithium_catalyst_mixed_chain_intermediate_private_key.pem

次に、中間証明書を生成します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509 -req -set_serial 8014 -extfile ./configs/intermediate_req.cfg -in dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_req.pem -CA xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem -CAkey ecdsa_without_xmss_catalyst_mixed_chain_root_private_key.pem -out ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_certificate.pem

中間証明書をハイブリッド中間証明書に拡張します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509QSExtend -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -x509in ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_certificate.pem -x509out dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem -reqin dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_req.pem -privqs xmss_catalyst_mixed_chain_root_private_key.pem::xmss_catalyst_mixed_chain_root_private_key_state.bin -privqs_engine

これで、ルートと中間証明書が生成され、次のステップでは、サーバー証明書を生成します。

はじめに、サーバー証明書用の CSR を生成します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl req -new -newkey ec:ecdsa_catalyst_mixed_chain_parameters.pem -keyout ecdsa_without_rainbow_catalyst_mixed_chain_private_key.pem -out ecdsa_without_rainbow_x509_catalyst_mixed_chain_req.pem -config ./configs/server_req.cfg -nodes

次に、サーバー証明書 CSR をハイブリッド CSR に拡張します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl reqQSExtend -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -reqin ecdsa_without_rainbow_x509_catalyst_mixed_chain_req.pem -reqout rainbow_ecdsa_x509_catalyst_mixed_chain_server_req.pem -privin ecdsa_without_rainbow_catalyst_mixed_chain_private_key.pem -pubqs rainbow_catalyst_mixed_chain_public_key.pem -privqs rainbow_catalyst_mixed_chain_private_key.pem

その後、サーバー証明書を生成することができます。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509 -req -set_serial 8015 -req -extfile ./configs/server_req.cfg -in rainbow_ecdsa_x509_catalyst_mixed_chain_server_req.pem -CA dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem -CAkey ecdsa_without_dilithium_catalyst_mixed_chain_intermediate_private_key.pem -out ecdsa_without_rainbow_x509_catalyst_mixed_chain_certificate.pem

そして最後に、サーバー証明書をハイブリッドサーバー証明書に拡張します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509QSExtend -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -x509in ecdsa_without_rainbow_x509_catalyst_mixed_chain_certificate.pem -x509out rainbow_ecdsa_x509_catalyst_mixed_chain_server_certificate.pem -reqin rainbow_ecdsa_x509_catalyst_mixed_chain_server_req.pem -privqs dilithium_catalyst_mixed_chain_intermediate_private_key.pem

証明書チェーンを確認する

すべての証明書が作成されたら、機能ハイブリッド証明書チェーンの確認は完了です。

はじめに、レガシー暗号を使用してハイブリッドチェーンが作動するかを確認します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl verify -engine IQREngine -verbose -CAfile xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem -untrusted dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem rainbow_ecdsa_x509_catalyst_mixed_chain_server_certificate.pem

以下の出力を参照してください。

bash
engine "IQREngine" set.
rainbow_ecdsa_x509_catalyst_mixed_chain_server_certificate.pem: OK

次に、ハイブリッド証明書チェーンが耐量子暗号を使用して作動するかを確認します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl x509QSVerify -engine /app/digicert-pqc/connector/lib/libiqre_engine.so -root xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem -untrusted dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem -cert rainbow_ecdsa_x509_catalyst_mixed_chain_server_certificate.pem

これにより以下の出力を提供します。

bash
engine "IQREngine" set.
2 : ok : /C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Root
1 : ok : /C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Test Intermediate CA
0 : ok : /C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=digicert.pqc
Success!!

また、すべてのファイルが作成されたかを確認するには、 ls コマンドを実行します。成功した場合は、以下のように表示されます。

bash
configs
dilithium_catalyst_mixed_chain_intermediate_private_key.pem
dilithium_catalyst_mixed_chain_intermediate_public_key.pem
dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem
dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_req.pem
ecdsa_catalyst_mixed_chain_parameters.pem
ecdsa_without_dilithium_catalyst_mixed_chain_intermediate_private_key.pem
ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_certificate.pem
ecdsa_without_dilithium_x509_catalyst_mixed_chain_intermediate_req.pem
ecdsa_without_rainbow_catalyst_mixed_chain_private_key.pem
ecdsa_without_rainbow_x509_catalyst_mixed_chain_certificate.pem
ecdsa_without_rainbow_x509_catalyst_mixed_chain_req.pem
ecdsa_without_xmss_catalyst_mixed_chain_root_private_key.pem
ecdsa_without_xmss_x509_catalyst_mixed_chain_root_certificate.pem
ecdsa_without_xmss_x509_catalyst_mixed_chain_root_req.pem
rainbow_catalyst_mixed_chain_private_key.pem
rainbow_catalyst_mixed_chain_public_key.pem
rainbow_ecdsa_x509_catalyst_mixed_chain_server_certificate.pem
rainbow_ecdsa_x509_catalyst_mixed_chain_server_req.pem
xmss_catalyst_mixed_chain_root_private_key.pem
xmss_catalyst_mixed_chain_root_private_key_state.bin
xmss_catalyst_mixed_chain_root_public_key.pem
xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem

s_server と s_client を使用して、証明書チェーンをテストします。

量子的に安全なハイブリッド証明書チェーンを試験するには、OpenSSL の s_servers_client ユーティリティを使用します。両方のユーティリティを同時に使用するには、2つの端末セッション-1つはサーバー用、もう1つはクライアント用-を開きます。

はじめに、サーバー証明書の CN 値をホストファイルに追加します。

bash
echo "$(hostname -I) digicert.pqc" | sudo tee -a /etc/hosts

次に、現在 /app/digicert-pqc/certs ディレクトリ内にいることを確認します。

bash
cd /app/digicert-pqc/certs

続いて、開かれた端末の1つで、サーバーを起動します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl s_server -engine IQREngine -cert dilithium_ecdsa_x509_catalyst_mixed_chain_intermediate_certificate.pem -certform PEM -key dilithium_catalyst_mixed_chain_intermediate_private_key.pem -keyform PEM -debug -tls1_2

上記のコマンドを実行すると、以下のように表示されます。

bash
engine "IQREngine" set.
Using default temp DH parameters
ACCEPT

次に、2番目の端末ウインドウに切り替え、/app/digicert-pqc/certs ディレクトリ内にいることを確認します。

bash
cd /app/digicert-pqc/certs

続いて、s_client ユーティリティを使用して、実行中のサーバーに接続します。

bash
/app/digicert-pqc/pqpki-openssl-1.0.2r/bin/openssl s_client -engine IQREngine -CAfile xmss_ecdsa_x509_catalyst_mixed_chain_root_certificate.pem -showcerts -tls1_2 -cipher 'ECDHE-NHDH-DILM-AES256-GCM-SHA384'

すべての構成が適切に完了すると、s_client ユーティリティを実行している端末ウインドウで、以下のように表示されます。

bash
engine "IQREngine" set.
CONNECTED(00000003)
depth=1 C = US, ST = Utah, L = Lehi, O = "DigiCert, Inc.", OU = DigiCert PQC, CN = DigiCert PQC Root
verify return:1
depth=0 C = US, ST = Utah, L = Lehi, O = "DigiCert, Inc.", OU = DigiCert PQC, CN = DigiCert PQC Test Intermediate CA
verify return:1
---
Certificate chain
 0 s:/C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Test Intermediate CA
   i:/C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Root
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Test Intermediate CA
issuer=/C=US/ST=Utah/L=Lehi/O=DigiCert, Inc./OU=DigiCert PQC/CN=DigiCert PQC Root
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 9868 bytes and written 2331 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-NHDH-DILM-AES256-GCM-SHA384
Server public key is 521 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-NHDH-DILM-AES256-GCM-SHA384
    Session-ID: {{Session-ID}}
    Session-ID-ctx: 
    Master-Key: {{Master-Key}}
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    [...]


    Start Time: 1563994600
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

s_server ユーティリティを実行している端末ウインドウで、以下のように表示されます。

bash
read from 0x5581e0750b80 [0x5581e07656f3] (5 bytes => 5 (0x5))
0000 - 16 03 01 00 96                                    .....
read from 0x5581e0750b80 [0x5581e07656f8] (150 bytes => 150 (0x96))
0000 - 01 00 00 92 03 03 d9 c0-5a 73 35 d0 4e f2 31 f6   ........Zs5.N.1.
[...]
write to 0x5581e0750b80 [0x5581e076e100] (71 bytes => 71 (0x47))
0000 - 16 03 03 00 42 02 00 00-3e 03 03 c2 3b df 2f 01   ....B...>...;./.
[...]
write to 0x5581e0750b80 [0x5581e0769c43] (4953 bytes => 4953 (0x1359))
0000 - 16 03 03 13 54 0b 00 13-50 00 13 4d 00 13 4a 30   ....T...P..M..J0
[...]
write to 0x5581e0750b80 [0x5581e0769c43] (4609 bytes => 4609 (0x1201))
0000 - 16 03 03 11 fc 0c 00 11-f8 03 00 17 41 04 0d 97   ............A...
[...]
write to 0x5581e0750b80 [0x5581e076e100] (9 bytes => 9 (0x9))
0000 - 16 03 03 00 04 0e 00 00-00                        .........
read from 0x5581e0750b80 [0x5581e07656f3] (5 bytes => 5 (0x5))
0000 - 16 03 03 08 48                                    ....H
read from 0x5581e0750b80 [0x5581e07656f8] (2120 bytes => 2120 (0x848))
0000 - 10 00 08 44 41 04 29 0a-07 84 0c f3 a4 e4 3e d1   ...DA.).......>.
[...]
read from 0x5581e0750b80 [0x5581e07656f3] (5 bytes => 5 (0x5))
0000 - 14 03 03 00 01                                    .....
read from 0x5581e0750b80 [0x5581e07656f8] (1 bytes => 1 (0x1))
0000 - 01                                                .
read from 0x5581e0750b80 [0x5581e07656f3] (5 bytes => 5 (0x5))
0000 - 16 03 03 00 28                                    ....(
read from 0x5581e0750b80 [0x5581e07656f8] (40 bytes => 40 (0x28))
0000 - e1 d7 30 8b 12 ef d1 dc-31 90 97 d0 0e 54 9c aa   ..0.....1....T..
[...]
write to 0x5581e0750b80 [0x5581e076e100] (175 bytes => 175 (0xAF))
0000 - 16 03 03 00 aa 04 00 00-a6 00 00 1c 20 00 a0 02   ............ ...
[...]
write to 0x5581e0750b80 [0x5581e076e100] (6 bytes => 6 (0x6))
0000 - 14 03 03 00 01 01                                 ......
write to 0x5581e0750b80 [0x5581e076e100] (45 bytes => 45 (0x2D))
0000 - 16 03 03 00 28 d0 99 97-94 6d a1 5c f8 b0 c0 65   ....(....m.\...e
[...]
-----BEGIN SSL SESSION PARAMETERS-----
[...]
-----END SSL SESSION PARAMETERS-----
Shared ciphers:ECDHE-NHDH-DILM-AES256-GCM-SHA384:ECDHE-NHDH-SIDH-DILM-AES256-GCM-SHA384
Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1:HSS+SHA512:XMSS+SHA512:XMSSmt+SHA512:DILITHIUM+SHA512:DILITHIUM+SHA512:0xE0+SHA512
Shared Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1:HSS+SHA512:DILITHIUM+SHA512:DILITHIUM+SHA512
Supported Elliptic Curve Point Formats: uncompressed:ansiX962_compressed_prime:ansiX962_compressed_char2
Supported Elliptic Curves: P-256:P-521:brainpoolP512r1:brainpoolP384r1:P-384:brainpoolP256r1:secp256k1:B-571:K-571:K-409:B-409:K-283:B-283:0xFE01
Shared Elliptic curves: P-256:P-521:brainpoolP512r1:brainpoolP384r1:P-384:brainpoolP256r1:secp256k1:B-571:K-571:K-409:B-409:K-283:B-283:UNDEF
CIPHER is ECDHE-NHDH-DILM-AES256-GCM-SHA384
Secure Renegotiation IS supported

おめでとうございます!これで、DigiCert の PQC ツールキットおよび ISARA Catalyst OpenSSL コネクタエンジンを使用して量子的に安全なハイブリッド証明書チェーンが正常に作成されました。