2023年2月7日火曜日

fullchain な証明書をサーバ証明書とCA証明書に分割する方法

fullchain な証明書をサーバ証明書とCA証明書に分割する方法

概要

nginx などはサーバ証明とCA証明書 (or 中間CA証明書) を結合して配置することができます
ただミドルウェアやツールによってはサーバ証明書とCA証明書は別に分けて配置しなければいけない場合があります

そんな場合に結合されたサーバ証明書を分割する方法を紹介します

環境

  • Ubuntu 18.04
  • openssl 1.1.1 11

サーバ証明書とCA証明書の順番を確認する

コマンドで確認できます
基本的に結合されている証明書は単純に複数の証明書が文字列で順番に結合されているだけです

ただ普通に見てもそれがどの証明書かわからないので openssl コマンドで確認します

  • openssl verify -show_chain --untrusted fullchain.pem fullchain.pem

で以下のような結果になれば OK です
以下の場合は上から順番にサーバ証明書CA証明書、中間CA証明書になります

fullchain.pem: OK
Chain:
depth=0: CN = *.myserver.com (untrusted)
depth=1: C = US, O = Let's Encrypt, CN = R3 (untrusted)
depth=2: C = US, O = Internet Security Research Group, CN = ISRG Root X1

分割する

あとは fullchain.pem を分割すれば OK です   「BEGIN CERTICATE」と「END CERTIFICATE」でひとかたまりなので最初の塊を server.crt として保存しあとの 2 つの塊を ca.crt として保存すれば OK です

手動で実施しても OK ですし適当なスクリプトを作成しても OK です

気をつけなければいけないのは必ず openssl コマンドで確認した順番と証明書の種類を意識して分割してください

サーバ証明書は基本一つになりCA関連の証明書は複数あります

0 件のコメント:

コメントを投稿