Introduction

備忘録。
1年前にプライベートCAを使って作成した証明書をデプロイしたはずが…期限切れになってしまい更新方法がわからず困ったので。

How to resolve?

こちらのサイトがまさにドンピシャ。

1. /etc/gitlab/ssl/ があるか

存在するのを確認。

2. /etc/gitlab/ssl/ 配下に秘密鍵があるか

存在するのを確認。

3. 証明書署名要求を作成

以前の CSR があるので、その情報をそのまま流用する

1
2
3
4
5
$ cd /etc/gitlab/ssl
$ openssl req -in com.hogehoge.csr -noout -subject
subject=C=JP, ST=Tokyo, L=Minato-ku, O=Takuya Takeuchi, OU=Takuya Takeuchi, CN=com.hogehoge, emailAddress=hogehoge@gmail.com
# -subj に指定。カンマなどは / に置換
$ sudo openssl req -new -key com.hogehoge.key -out com.hogehoge.csr -subj "/C=JP/ST=Tokyo/L=Minato-ku/O=Takuya Takeuchi/OU=Takuya Takeuchi/CN=com.hogehoge/emailAddress=hogehoge@gmail.com" -addext "subjectAltName = DNS:*.hogehoge.com,IP:192.168.11.108"

4. CSR を署名

プライベートCA の設定を使って先に作成した CSR に署名

1
$ openssl ca -batch -config sign-server.conf -in server.csr -out server.crt -extensions server_ext

5. 有効期限の確認

1
2
3
$ openssl x509 -noout -dates -in /etc/gitlab/ssl/com.hogehoge.crt
notBefore=Jul 18 12:00:51 2025 GMT
notAfter=Jul 18 12:00:51 2026 GMT

6. パーミッションを変更

1
$ sudo chmod 400 /etc/gitlab/ssl/com.hogehoge.crt

7. Gitlab の再起動

1
$ sudo gitlab-ctl restart