Symfoware

Symfowareについての考察blog

Tomcat 8.5 + keytoolで作成した証明書でSSL通信許可

javaに同梱されているkeytoolでオレオレSSL証明書を発行。
Tomcatに設定し、SSL通信出来るようにしてみます。

環境は、
・Ubuntu 16.04
・OpenJDK 1.8.0_151
・Tomcat 8.5.23



keytool



keytoolを使用して、証明書ファイルを作成します。


$ keytool -genkey -alias [証明書の名称] -keyalg RSA -keystore [ファイル名] -validity [有効日数]




今回実行したコマンドは以下の通り。


$ keytool -genkey -alias tomcat -keyalg RSA -keystore dummy.keystore -validity 3650
キーストアのパスワードを入力してください: [P@ssw0rd]
新規パスワードを再入力してください: [P@ssw0rd]
姓名は何ですか。
[Unknown]: 192.168.1.4
組織単位名は何ですか。
[Unknown]: test
組織名は何ですか。
[Unknown]: test
都市名または地域名は何ですか。
[Unknown]: city
都道府県名または州名は何ですか。
[Unknown]: tokyo
この単位に該当する2文字の国コードは何ですか。
[Unknown]: ja
CN=192.168.1.4, OU=test, O=test, L=city, ST=tokyo, C=jaでよろしいですか。
[いいえ]: y

<tomcat>の鍵パスワードを入力してください
    (キーストアのパスワードと同じ場合はRETURNを押してください): [そのままエンター]

Warning:
JKSキーストアは独自の形式を使用しています。
"keytool -importkeystore -srckeystore dummy.keystore -destkeystore dummy.keystore -deststoretype pkcs12"
を使用する業界標準の形式であるPKCS12に移行することをお薦めします。




ポイントは「姓名は何ですか」の入力。
ここはサーバーのFQDNを入力します。
今回、DNSに登録していないサーバーでテストしたのでIPアドレスを指定しました。

出力されたdummy.keystoreファイルを、%TOMCAT%/conf/dummy.keystoreにコピーしておきあmす。



server.xml



%TOMCAT%/conf/server.xmlの「Connector」の定義がある箇所に、以下のタグを追記します。


  1.     <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  2.              maxThreads="150" SSLEnabled="true" >
  3.         <SSLHostConfig>
  4.             <Certificate certificateKeystoreFile="conf/dummy.keystore"
  5.                          certificateKeystorePassword="P@ssw0rd"
  6.                          certificateKeyAlias="tomcat"
  7.                          certificateKeystoreProvider="SUN"
  8.                          certificateKeystoreType="JKS"
  9.                          type="RSA" />
  10.         </SSLHostConfig>
  11.     </Connector>




サーバーを起動して、https://[サーバー]:8443/[サーブレット]にアクセスすると、証明書の警告が表示されます。

814_01.png


続行を選択すると、とりあえずhttps経由で画面が表示されました。

814_02.png



【参考URL】

Tomcat7 でのWebアプリケーションをHTTPS通信に対応させる

【Tomcat】Tomcat 8.5 で SSL通信 ~簡易版~
関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2017/12/28(木) 22:34:57|
  2. Java
  3. | トラックバック:0
  4. | コメント:1
  5. | 編集