UPKIとApache2とNginx(更新)

Linux

はじめに

UPKIクライアント証明書を更新します。
証明書を使用するパソコンで作業します。

UPKIの新規作成の記事は下記です。

UPKIとApache2とNginx(新規作成)
はじめにUPKIクライアント証明書を申請、設定します。証明書を使用するパソコンで作業します。環境- Debian bookworm手順該当パソコンにログインします。mkdir -m 700 ~/upk...

環境

- Debian bookworm

手順

該当パソコンにログインします。
前回作った~/upkiに移動します。

cd ~/upki

証明書を更新する場合は、前回に作成したファイル名を移動します。

mkdir ~/upki/2024
mv rand.dat ~/upki/2024
mv XXXXX.key ~/upki/2024
mv XXXXX.csr ~/upki/2024

証明書の更新には、シリアルナンバーが必要なので、該当パソコンにログインして確認します。
前回の登録時に届いたメールに記載されているシリアルナンバーと一致するか確認します。

openssl s_client -connect XXXXX.com:443 </dev/null 2> /dev/null | openssl x509 -noout -serial

ランダムファイルを生成します。

cd ~/upki
head -c 1m /dev/urandom > rand.dat

秘密鍵を作成します。
パスフレーズを付加して作成するには「-des3」、または「-aes256」を付加しますが、今回は指定しません。

/usr/bin/openssl genrsa -rand rand.dat 2048 > XXXXX.key

CSR(証明書発行要求書)を作成します。

/usr/bin/openssl req -new -key XXXXX.key -sha256 -out XXXXX.csr

opensslのバージョンによって若干メッセージが異なります。
サーバ名は「XXXXX.com」としています。
最後の方に入力する
 ・Organizational Unit Name
 ・Email Address
 ・A challenge password
 ・An optional company name
には半角ドット「.」を入力します。

Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Okinawa
Locality Name (eg, city) [Default City]:Nago
Organization Name (eg, company) [Default Company Ltd]:CompanyName
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:XXXXX.com
Email Address []:.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.

生成したファイルの内容を確認します。

/usr/bin/openssl req -noout -text -in XXXXX.csr

下記URLにアクセスしてTSVファイルを作成します。

TSVツール: トップメニュー

「TSVを作成する/既存のTSVを編集する」の「作成開始」をクリックします。
以下の内容を入力して「この内容で作成を開始」をクリックします。

・TSVファイル種別は「更新申請用TSV」。
・証明書種別は「サーバ証明書」。
・証明書プロファイルは「サーバ証明書(sha256WithRSAEncryption)」。
・発行方法は空欄。

「作成済みTSVファイル」に、前回作成したTSVファイルを指定します。
「CSRファイル読込」項目の「ファイル選択」をクリックして、新規に作成したCSRファイルを選択、「読込」をクリックします。

以下の内容を入力して「完了」をクリックします。

「失効対象証明書シリアル番号」には、最初に確認したシリアル番号を入力します。
注意点として、コマンドで確認したシリアルナンバーは16進数になることがあります。
その場合は、先頭に「0x」を付加する必要があります。
下記ページの「5-3-2. サーバ証明書更新申請TSVファイル形式」にある「失効対象証明書シリアル番号」に記載があります。

利用管理者用 - UPKI_Manual - meatwiki

「利用管理者氏名」、「利用管理者所属」はローマ字で記述します。
「Webサーバソフトウェア名等」は使っているWebサーバ(Apache2、Nginxなど)を入力します。

・失効対象証明書シリアル番号
・利用管理者E-mail
・利用管理者氏名
・利用管理者所属
・Webサーバソフトウェア名等

「ダウンロード」をクリックしてTSVファイルをダウンロードします。

該当施設の管理者にメールなどでTSVファイルを送って、手続きを依頼します。
UPKI事務局から「サーバ証明書発行受付通知」のSubjectでメールが届くので、証明書をダウンロードして、サーバに配置します。

証明書の配置

以前のファイルを移動します。

cd /etc/ssl/upki

sudo mkdir /etc/ssl/upki/2024
sudo mv XXXXX.key /etc/ssl/upki/2024
sudo mv XXXXX.csr /etc/ssl/upki/2024
sudo mv XXXXX.crt /etc/ssl/upki/2024

NginxとApache2.4.8以降の場合、SSLCertificateFileは、SSL証明書(csrファイル)と中間証明書(cerファイル)の順に記述したファイル(crtファイル)を作成して指定します。
新規に作成したcer、csr、keyファイルをコピーします。

cd /etc/ssl/upki

sudo cp ~/upki/XXXXX.cer .
sudo cp ~/upki/XXXXX.key .
sudo cp ~/upki/XXXXX.csr .

su
cat XXXXX.csr XXXXX.cer > XXXXX.crt
exit

sudo chmod 600 XXXXX.*

Apache2、またはNginxなどお使いのWebサーバを再起動します。
Apache2の場合

sudo systemctl restart apache2

Nginxの場合

sudo systemctl restart nginx

確認

該当WebサイトにWebブラウザでアクセスして確認します。

Comments