はじめに
会社で購入したSSL証明書をALBに設置する機会がありましたのでまとめます
SSL証明書)の仕組みについてはこちら
ドメインを購入
お名前ドットコムなどで購入できます
CSRを作成
ssh接続したEC2サーバー内で、以下のコマンドでCSRを作成します
$ sudo su
# cd /usr/local/etc
# mkdir ca
# chmod 600 ca
# cd /usr/local/etc/ca
# 秘密鍵の作成
# openssl genrsa -out ca.key -des3 2048
.........................................................................+++
...................................+++
e is 65537 (0x10001)
Enter pass phrase for server.key:(ca.keyのパスフレーズ)
Verifying - Enter pass phrase for server.key:(ca.keyのパスフレーズ)
# 秘密鍵のパスフレーズを削除します。
# openssl rsa -in ca.key -out ca.key
Enter pass phrase for ca.key:(ca.keyのパスフレーズ)
writing RSA key
# openssl rsa -in ca.key -out ca.key
writing RSA key
↑これがでたら、フレーズを削除できたということです。
# CSR作成
# openssl req -new -key ca.key > ca.csr
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:都道府県を記載
Locality Name (eg, city) [Default City]:市を記載
Organization Name (eg, company) [Default Company Ltd]:会社名を記載
Organizational Unit Name (eg, section) []:部署を記載(省略可)
Common Name (eg, your name or your server's hostname) []:ドメイン名(購入したドメイン)
以降の他の項目は、無記入で可
Email Address []:(空白可、エンターのみ入力)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(空白可、エンターのみ入力)
An optional company name []:(空白可、エンターのみ入力)
会社名も全て、英語で入力してください!
会社名を日本語にすると、SSL証明書を購入する際、CSRの中身を貼り付けるとエラーになります。
秘密鍵のパスフレーズ削除しましょう。
秘密鍵のパスフレーズを削除する理由は、パスフレーズで暗号化されいる場合、ACMにインポートできないためです。
writing RSA key
が出ると、削除できたということです。
CSR作成の注意点
東京商工リサーチで、会社名を検索し、記載の住所を確認のうえ正確に入力してください。
CSRの内容はSSL申込時に必要なため、コピーします
$ cat ca.csr
-----BEGIN CERTIFICATE REQUEST-----
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE REQUEST-----
さくらサイトなどでSSL証明書の購入
CSRの内容が必要です。サイトの指示にしたがい申し込みます。
EC2サーバー側の認証
SSL証明書の申込みが完了後、サーバーが存在するか(厳密にはドメインが存在するか)確認されるため、認証ファイル
をサーバーに設置するよう指示されます。
そのため、ローカルからEC2にscp
コマンドでアップします
#ローカル
$ scp [オプション] [鍵].pem 認証ファイル ユーザ名@サーバのホスト名(or IPアドレス):保存先パス
$ scp -p -i [鍵].pem hoge.html ec2-user@xxx.xxx.xxx.xxx:/指示されたフルパスを指定
#サーバー証明書と中間証明書をうけとる
EC2サーバー側の認証されると、サーバー証明書と中間証明書がもらえます。
AWS Certificate Managerにインポート
AWSのACMコンソールに移動します。
Import a certificate
をクリックします。
Certificate body
にサーバ証明書の中身をペーストします
-----BEGIN CERTIFICATE-----
(省略)
-----END CERTIFICATE-----
Certificate private key
には、先程サーバー内で作成したサーバ証明書の秘密鍵(ca.key)の中身をペーストします。
-----BEGIN RSA PRIVATE KEY-----
(省略)
-----END RSA PRIVATE KEY-----
Certificate chain
には、中間証明書の中身をペーストします。
-----BEGIN CERTIFICATE-----
(省略)
-----END CERTIFICATE-----
「Review and import」→「import」を押して、証明書作成できます。
これをALBに設置すると完了です。
参考