2,949 バイト追加
、 2020年6月8日 (月) 01:39
自分が管理しているサーバーのSSL証明書を更新する手順(覚書)。[[Category:How-To]]
値段が安いので、[https://www.ssl-store.jp/ SSLストア] で購入。
== 購入手順 ==
* https://www.ssl-store.jp/ にログイン。
* 上部の「証明書」メニューをクリックして、「証明書購入」をクリック。
* タブでブランドを選んで (FujiSSLが最安で 1,100円/年)、「新規」または「更新」をクリック。
* 指示に従って、決済を完了する。
== Private Key & CSR作成 ==
CSR = Certificate Signing Request のこと。認証局に送る、証明書の発行のリクエスト。
ランダムなデータがあると良いので、適当に作る。例えば、
<pre>
$ dd if=/dev/random of=random.dat bs=1k count=16384
</pre>
秘密鍵 (private key) を作る。XXXXX はコモンネームで置き換える。
<pre>
$ openssl genrsa -rand random.dat -des3 2048 > XXXXX.key.pem
16777216 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
....................+++
...+++
e is 65537 (0x10001)
Enter pass phrase: # パスフレーズを入れる
Verifying - Enter pass phrase: # もう一回
</pre>
秘密鍵がパスフレーズ付きでできた。
次に CSR を作る。
<pre>
$ openssl req -new -key XXXXX.key.pem -out XXXXX.csr
Enter pass phrase for XXXXX.key.pem: # さっき入れたパスフレーズを入力する
-----
Country Name (2 letter code) [XX]:JP # 日本はJPかな
State or Province Name (full name) []:Tokyo # 自分の住んでる都道府県
Locality Name (eg, city) [Default City]:Minato-ku # 自分の住んでる都市
Organization Name (eg, company) [Default Company Ltd]:fukudat.com # 自分の会社名とか苗字とか
Organizational Unit Name (eg, section) []: # 何も入力しなくて良い
Common Name (eg, your name or your server's hostname) []:XXXXX # コモンネーム。この証明書を作るので、間違えないように。
Email Address []: xxxxx@xxxxx.com # 自分のメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: # 何も入力しない
An optional company name []: # 何も入力しない
</pre>
これで CSR ができた。
== 証明書の発行 ==
作成したCSRの中身をコピーバッファにコピーして、SSLストアのCSR入力ボックスにペーストする。
すると、すぐに証明書がダウンロードされる。
もしサーバーがクラッシュしたりして秘密鍵を壊してしまったら、同じ手順で新しく CSR を作り直せば、いつでも再発行してもらえる。
== パスフレーズつき秘密鍵のパスフレーズ解除 ==
<pre>
$ openssl rsa < XXXXX.key.pem > XXXXX.key
</pre>
これで web server をリスタートするたびにパスフレーズは不要。ただし、permission に充分注意する。