「SSL Certificate」の版間の差分
(ページの作成:「自分が管理しているサーバーのSSL証明書を更新する手順(覚書)。Category:How-To 値段が安いので、[https://www.ssl-store.jp/ SSLストア...」) |
|||
(同じ利用者による、間の11版が非表示) | |||
52行目: | 52行目: | ||
== 証明書の発行 == | == 証明書の発行 == | ||
作成したCSRの中身をコピーバッファにコピーして、SSLストアのCSR入力ボックスにペーストする。 | 作成したCSRの中身をコピーバッファにコピーして、SSLストアのCSR入力ボックスにペーストする。 | ||
− | + | すると、すぐに証明書 (server-common-name.crt) 、中間CA証明書 (ca-bundle.ca) がダウンロードされる。 | |
− | もしサーバーがクラッシュしたりして秘密鍵を壊してしまったら、同じ手順で新しく CSR | + | もしサーバーがクラッシュしたりして秘密鍵を壊してしまったら、同じ手順で新しく CSR を作り直して、いつでも https://product.fujissl.jp/ で再発行してもらえる。 |
+ | ただし、証明書を購入した際に入力した common name とメールアドレスのペアを正しく入力すること。 | ||
== パスフレーズつき秘密鍵のパスフレーズ解除 == | == パスフレーズつき秘密鍵のパスフレーズ解除 == | ||
60行目: | 61行目: | ||
$ openssl rsa < XXXXX.key.pem > XXXXX.key | $ openssl rsa < XXXXX.key.pem > XXXXX.key | ||
</pre> | </pre> | ||
− | これで web server | + | これで web server をリスタートするたびにパスフレーズは不要。ただし、ファイルの permission に充分注意する。 |
+ | |||
+ | == 証明書・秘密鍵の配置 == | ||
+ | Ubuntuの場合、以下のpathに配置する。owner, permission に注意。(ただし、XXXXX = common name) | ||
+ | <pre> | ||
+ | $ sudo ls -l /etc/ssl/certs/XXXXX.crt /etc/ssl/certs/ca-bundle.ca /etc/ssl/private/XXXXX.key | ||
+ | -rw-r--r-- 1 root root 3276 Feb 1 19:05 /etc/ssl/certs/ca-bundle.ca | ||
+ | -rw-r--r-- 1 root root 2319 Feb 1 19:14 /etc/ssl/certs/XXXXX.crt | ||
+ | -rw------- 1 root ssl-cert 1679 Feb 1 19:23 /etc/ssl/private/XXXXX.key | ||
+ | </pre> | ||
+ | |||
+ | apacheの設定ファイル (/etc/apache2/site-available/default-ssl.conf) がこれらのファイルを参照していることを確認する。 | ||
+ | |||
+ | [[Postfix#SSL Certificate の設定]]も参照。 | ||
+ | |||
+ | == CSR, Key, CRT の中身の確認 == | ||
+ | <pre> | ||
+ | $ openssl req -in XXXXX.csr -text -noout | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | $ openssl x509 -in XXXXX.crt -text -noout | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | $ openssl rsa -in XXXXX.key -text -noout | ||
+ | </pre> | ||
+ | |||
+ | modulusの値が一致すれば、正しい。 | ||
+ | |||
+ | == WWWの有無両方で同一の証明書を使用する == | ||
+ | |||
+ | 認証ファイルへのアクセスURLは「www」の有り無し両方のURLにアクセスした状態での確認が必要です。 | ||
+ | |||
+ | * http://www.example.com/.well-known/pki-validation/fileauth.txt 又は | ||
+ | * https://www.example.com/.well-known/pki-validation/fileauth.txt | ||
+ | |||
+ | 及び | ||
+ | |||
+ | * http://example.com/.well-known/pki-validation/fileauth.txt 又は | ||
+ | * https://example.com/.well-known/pki-validation/fileauth.txt |
2024年1月26日 (金) 02:37時点における最新版
自分が管理しているサーバーのSSL証明書を更新する手順(覚書)。
値段が安いので、SSLストア で購入。
目次
購入手順
- https://www.ssl-store.jp/ にログイン。
- 上部の「証明書」メニューをクリックして、「証明書購入」をクリック。
- タブでブランドを選んで (FujiSSLが最安で 1,100円/年)、「新規」または「更新」をクリック。
- 指示に従って、決済を完了する。
Private Key & CSR作成
CSR = Certificate Signing Request のこと。認証局に送る、証明書の発行のリクエスト。
ランダムなデータがあると良いので、適当に作る。例えば、
$ dd if=/dev/random of=random.dat bs=1k count=16384
秘密鍵 (private key) を作る。XXXXX はコモンネームで置き換える。
$ 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: # もう一回
秘密鍵がパスフレーズ付きでできた。
次に CSR を作る。
$ 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 []: # 何も入力しない
これで CSR ができた。
証明書の発行
作成したCSRの中身をコピーバッファにコピーして、SSLストアのCSR入力ボックスにペーストする。 すると、すぐに証明書 (server-common-name.crt) 、中間CA証明書 (ca-bundle.ca) がダウンロードされる。
もしサーバーがクラッシュしたりして秘密鍵を壊してしまったら、同じ手順で新しく CSR を作り直して、いつでも https://product.fujissl.jp/ で再発行してもらえる。 ただし、証明書を購入した際に入力した common name とメールアドレスのペアを正しく入力すること。
パスフレーズつき秘密鍵のパスフレーズ解除
$ openssl rsa < XXXXX.key.pem > XXXXX.key
これで web server をリスタートするたびにパスフレーズは不要。ただし、ファイルの permission に充分注意する。
証明書・秘密鍵の配置
Ubuntuの場合、以下のpathに配置する。owner, permission に注意。(ただし、XXXXX = common name)
$ sudo ls -l /etc/ssl/certs/XXXXX.crt /etc/ssl/certs/ca-bundle.ca /etc/ssl/private/XXXXX.key -rw-r--r-- 1 root root 3276 Feb 1 19:05 /etc/ssl/certs/ca-bundle.ca -rw-r--r-- 1 root root 2319 Feb 1 19:14 /etc/ssl/certs/XXXXX.crt -rw------- 1 root ssl-cert 1679 Feb 1 19:23 /etc/ssl/private/XXXXX.key
apacheの設定ファイル (/etc/apache2/site-available/default-ssl.conf) がこれらのファイルを参照していることを確認する。
Postfix#SSL Certificate の設定も参照。
CSR, Key, CRT の中身の確認
$ openssl req -in XXXXX.csr -text -noout
$ openssl x509 -in XXXXX.crt -text -noout
$ openssl rsa -in XXXXX.key -text -noout
modulusの値が一致すれば、正しい。
WWWの有無両方で同一の証明書を使用する
認証ファイルへのアクセスURLは「www」の有り無し両方のURLにアクセスした状態での確認が必要です。
- http://www.example.com/.well-known/pki-validation/fileauth.txt 又は
- https://www.example.com/.well-known/pki-validation/fileauth.txt
及び