SSL証明書の購入の仕方

  • このエントリーをはてなブックマークに追加

ワイルドカード証明書を2ドメイン分、別々の場所で購入したのでその手順をメモ。Let’s Encryptは2018年の2月末に提供されるので、これを待っていたのですが急遽必要になってしまったのです。

それぞれ引数に-sha256を入れないとsha1で作られてしまったので指定しました。Macの場合、opensslの設定ファイル(/System/Library/OpenSSL/openssl.cnf)でデフォルトのMDがsha1になっているからです。

grep default_md /System/Library/OpenSSL/openssl.cnf
default_md = sha1 # which md to use.

秘密鍵の作成

暗号化無しで作成。暗号化する場合は-des3を指定します。

openssl genrsa -out example.com.key 2048 -sha256

確認

openssl rsa -noout -text -in example.com.key

証明書署名要求(CSR)の作成

openssl req -new -sha256 -key example.com.key -out example.com.csr

引数で諸々指定すると入力をすっ飛ばせますが、手で入力。

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shibuya
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany, Inc.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:admin@example.com

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

確認

openssl req -noout -text -in example.com.csr

サイトで購入

これらのファイルを元にこちらのサイトで1枚目を購入。RapidSSLで16800円。1時間以内で発行されました。
ドメインの所有を確認するためにメール認証やファイル認証、ドメイン認証があるようですが、今回はメール認証でadmin@example.comにVerify的なメールが来ました。メール中のリンクをポチッとすると証明書が送られてきます。

メールを受け取るために、AWSのWorkMailを使いました。1ユーザー(メールアカウント)あたり4㌦です。

これをGAEに設定します。

AppEngine -> 設定 -> SSL証明書 -> 新しい証明書をアップロード

注意点としてGAEの場合は、中間証明書も一緒に貼り付ける必要があります。これをやらないと、x509: certificate signed by unknown authority と怒られてしまいます。ブラウザから見ると一見アクセスできているように見えるのが怖いところです。

SSL Checkerで調べましょう。

失敗しているとこのように見えます。

クロスルート証明書も入れたいので、実際には 証明書 中間証明書 クロスルート証明書 の順番で書きます。

もしKEYを暗号化している場合は、こんな感じでパスワードを解除してから貼り付ける必要がありました。

openssl rsa -in example.com.key -out example.com.nopass.key

ドメインにMappingするとこんな感じになります。

参考