コンテンツにスキップ

Intermediate CA

Root CA で署名した Intermediate CA の 証明書 を作成する。


Root CA
└─ Intermediate CA
└─ Server Certificate

項目 内容
OS Debian 13.x
OpenSSL 3.5
作業ディレクトリ pki/intermediate
Root CA証明書 ../root/ca.crt
Root CA秘密鍵 ../root/ca.key
証明書拡張ファイル ../extensions.cnf

Intermediate CA証明書の作成と、サーバー証明書への署名に使用する 秘密鍵 を作成する。

Terminal window
openssl genpkey \
-algorithm RSA \
-aes-256-cbc \
-pkeyopt rsa_keygen_bits:4096 \
-out intermediate.key
chmod 600 intermediate.key
オプション 役割
-algorithm RSA RSA鍵を生成する
-aes-256-cbc 秘密鍵をパスフレーズで暗号化する
-pkeyopt rsa_keygen_bits:4096 鍵長を4096ビットにする
-out intermediate.key 秘密鍵を intermediate.key へ保存する
Terminal window
openssl pkey -in intermediate.key -check -noout

期待する結果: Key is valid


Intermediate CA証明書の発行をRoot CAへ要求するための CSR を作成する。

Terminal window
openssl req -new \
-key intermediate.key \
-out intermediate.csr
オプション 役割
-new 新しいCSRを作成する
-key intermediate.key CSRへ含める公開鍵と署名に使う秘密鍵を指定する
-out intermediate.csr CSRを intermediate.csr へ保存する

CSRへRoot CAの秘密鍵で署名し、Intermediate CA証明書を作成する。この証明書は、Root CAとサーバー証明書をつなぐ 証明書チェーン の中間に位置する。

Terminal window
openssl x509 -req \
-in intermediate.csr \
-CA ../root/ca.crt \
-CAkey ../root/ca.key \
-days 1825 -sha256 \
-out intermediate.crt \
-extfile ../extensions.cnf \
-extensions intermediate_ca
オプション 役割
-req 入力ファイルをCSRとして読み込む
-in intermediate.csr 署名するCSRを指定する
-CA ../root/ca.crt 署名に使うRoot CA証明書を指定する
-CAkey ../root/ca.key 署名に使うRoot CA秘密鍵を指定する
-days 1825 証明書の有効期間を1825日にする
-sha256 SHA-256 を使って証明書へ署名する
-out intermediate.crt 証明書を intermediate.crt へ保存する
-extfile ../extensions.cnf 拡張を記述した設定ファイルを読み込む
-extensions intermediate_ca [ intermediate_ca ] セクションを適用する

Terminal window
openssl verify \
-CAfile ../root/ca.crt \
intermediate.crt

期待する結果: intermediate.crt: OK

この OK は、Root CAまで署名チェーンを構築でき、有効期間などの基本検証に成功したことを示す。Intermediate CAとしての CA:TRUE、 keyCertSign、 pathlen は、この証明書を発行元として使う サーバー証明書のチェーン検証 でも確認される。



  • openssl-genpkey 秘密鍵の生成方法と、鍵生成アルゴリズム固有のオプション。

  • openssl-pkey 秘密鍵・公開鍵の読み込み、表示、変換、整合性確認。

  • openssl-req CSRの作成、Subjectの対話入力、各オプション。

  • openssl-x509 CSRへのCA署名、証明書の作成、表示、変換。

  • openssl-verify 証明書チェーンと証明書署名の検証。

  • x509v3_config basicConstraints、keyUsage などのX.509拡張設定形式。