LoginSignup
1
2

More than 5 years have passed since last update.

Dropwizardにおける無料SSL証明書の使い方

Posted at

個人的には他のJavaフレームワークよりも学習コストが低くて最高だと思っているけど、国内ではイマイチ流行らない「Dropwizard」というJavaフレームワークを使っている場合の無料SSL証明書(Let's Encrypt)を使う手順をメモしておく(ほとんど身内向け)

動作確認環境

OS: Ubuntu 16.04 LTS
M/W: OpenJDK1.8,Dropwizard 0.9.1

構築手順

構築手順は以下の通り

1) ドメイン取得

ドメインを持ってない場合は、以下のサイトからフリーのドメイン(www.mamemame.ml等)を取得する
http://www.freenom.com/ja/index.html?lang=ja

※登録後しばらく時間が経過しないと名前引けないので注意

2) 証明書取得

以下の手順で無料のSSL証明書(Let's Encrypt)を取得する

○Let's Encryptについて
https://letsencrypt.jp/

$ sudo apt-get install letsencrypt
$ sudo letsencrypt certonly --standalone -d www.mamemame.ml --email mamemame@mamezou.com

3) keystore(jks)作成

以下のコマンドでJava Key Storeを作成する

$ sudo openssl pkcs12 -export -passout pass:mamemame123 -in /etc/letsencrypt/live/www.mamemame.ml/fullchain.pem -inkey /etc/letsencrypt/live/www.mamemame.com/privkey.pem  -out mame.p12 -name mame
$ sudo keytool -importkeystore -deststorepass mamemame123 -destkeypass mamemame123 -destkeystore mame.keystore -srckeystore mame.p12 -srcstoretype PKCS12 -srcstorepass mamemame123 -alias mame

4) keystoreの内容確認

以下のコマンドでkeystoreに正しく登録されているかを確認する

$ sudo keytool -v -list -keystore mame.keystore

6) dropwizardの設定と再起動

設定ファイル(config.yml)を確認(変更)して再起動する
(以下~mamezou/mameにdropwizardのモジュールがインストールされている想定)

$ vi ~mamezou/mame/mame-config.yml
---
applicationConnectors:
  - type: https
    port: 443
    keyStorePath: ssl/mame.keystore
    keyStorePassword: mamemame123
    certAlias: mame
    validateCerts: false # これがないと起動時にエラーになった
    trustStorePath: ssl/mame.truststore
---

5) keystoreの配置

作成したkeystoreをdropwaizardのkeystoreに配置する

$ cp -p mame.keystore ~/mamezou/mame/ssl/

6) Dropwizardサーバ起動

$ cd ~mamezou/mame
$ java -jar mame.jar server mame-config.yml

SSL証明書の期限は90日ですが、期間が限定される検証環境(PoC)やデモ環境には最適なソリューションですね


以上

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2