ワイルドカード証明書を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 |
秘密鍵の作成
暗号化無しで作成。暗号化する場合は-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 |
確認
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するとこんな感じになります。