Translate

ラベル Eclipse の投稿を表示しています。 すべての投稿を表示
ラベル Eclipse の投稿を表示しています。 すべての投稿を表示

2017年2月13日月曜日

JAVAでテスト用SSL証明書を許可する

 Tomcatを使ってTLS接続のサーバ間通信をしようとすると、テスト用サーバの証明書が認証局に登録されていなくってSSLExceptionが出ることがあります。
 その際に、JAVAの信頼済み証明書にテスト用のSSL証明書を登録することで回避する方法について記録します。

■症状

JAVAを使ったHTTPS通信でテストサーバに繋ぐと、SSLExceptionがでる。

■回避方法

ネットを調べていると信頼済み証明書に追加する方法と、証明書の検証をしない方法とがありましたが、後者の場合本運用にそのまま移行できないので、ここでは前者の信頼済み証明書に追加する方法について説明します。

■信頼済み証明書に登録する

  1. tomcatが使用しているjavaのパスを調査し、cacertsを探す
  2. cacertsの場所は通常以下のような場所にあります。
    • Windowsの場合
    • C:\Program Files\java\jre<バージョン番号>\lib\security
      
    • CentOSの場合
    • /etc/pki/ca-trust/extracted/java/
      
  3. keytoolを使ってcacertsに証明書(CRT)を追加する
  4. keytool -importcert -v -trustcacerts -file <証明書ファイル> -keystore <信頼済み証明書ファイル>
    
    証明書ファイル: /etc/httpd/ssl/server.crt
    信頼済み証明書ファイル: /etc/pki/ca-trust/extracted/java/cacerts
    各ファイルが上記の場所に保存されている場合
    keytool -importcert -v -trustcacerts -file /etc/httpd/ssl/server.crt -keystore /etc/pki/ca-trust/extracted/java/cacerts [Enter]
    キーストアのパスワードを入力してください:  
    所有者: CN=www.test.jp, O=Company, L=Kyoto, ST=Kyoto, C=jp
    発行者: CN=www.test.jp, O=Company, L=Kyoto, ST=Kyoto, C=jp
    シリアル番号: ****************
    有効期間の開始日: Mon Feb 13 14:17:42 JST 2017終了日: Thu Feb 11 14:17:42 JST 2027
    証明書のフィンガプリント:
             MD5:  **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
             SHA1: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
             SHA256: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
             署名アルゴリズム名: SHA512withRSA
             バージョン: 1
    この証明書を信頼しますか。 [いいえ]:  y
    証明書がキーストアに追加されました
    [/etc/pki/ca-trust/extracted/java/cacertsを格納中]
    
    これは、CentOSの例になりますが、Windowsの場合適所修正してください。

■Eclipseの場合

Eclipseでデバッグしている場合は設定のサーバでどのフォルダのJAVAを使用しているか確認することが出来ます。

2014年12月26日金曜日

eclipseでTomcatプロジェクトのJavaバージョンを切り替える方法

eclipseの開発環境でTomcatプロジェクトのJavaを新しいバージョンに切り替える方法についてまとめます。
Java1.8に切り替える例です。

1.新しいバージョンのJDKをインストールする

 まずはじめに新しいバージョンのJDKをインストールしておきます。

2.インストール済みのJREを追加する

 eclipseの設定、「インストール済みJRE」で新しいJREを追加する。もしくは既存のJREを新しいJREに置き換えます。

3.コンパイラー準拠レベルを変更する

 同じくeclipseの設定、「コンパイラー」の「コンパイラー準拠レベル」を新しいバージョンに切り替えます。

4.Javaのビルド・パスにJREシステム・ライブラリーを追加する

プロジェクトのプロパティ、「Javaのビルド・パス」にある「JREシステム・ライブラリー」を選択し「編集」をクリックします。


JREシステム・ライブラリの最新バージョンを選択し「完了」をクリックします。

5.プロジェクト・ファセットを修正する

 プロジェクトのプロパティ、「プロジェクト・ファセット」にある、Javaのバージョンを新しいものに切り替えます。

2014年4月22日火曜日

UDNを使ってデプロイする

UDNを使ってCloudFoundryへアプリケーションをデプロイする方法についての説明です。

 UDNでアプリケーションをデプロイする際、通常フォルダ内のものをすべてアプリケーションにアップロードする動作になりますが、eclipseなどを使って開発しているとデプロイファイルは「WAR形式」によってエクスポートされます。
 拡張子を「ZIP形式」変更し解凍してからデプロイしてもいいのですが、何度もテストするときなどは非常に不便です。
 そこでUDNコマンドを使う際に「--path」オプションを使うことによってWARファイルを直接指定することができます。

■PUSH

 UDNを使ってアプリケーションをデプロイする際注意しないといけないのがRuntimeの選択です。通常デプロイした内容に応じて適切にRuntimeが選択されるのですが、バージョンの違いによって正常に動作しない場合があります。
 これは「udn runtimes」コマンドを使うことでどのRuntimeが利用できて、既定のバージョンが何であるかが確認できます。
udn runtimes
+--------+---------------+-----------+
| Name   | Description   | Version   |
+--------+---------------+-----------+
| java   | Sun Java 6    | 1.6.0_45  |
| java6  | Sun Java 6    | 1.6.0_45  |
| java7  | Oracle Java 7 | 1.7.0_25  |
| ruby   | Ruby 1.9.3    | 1.9.3p484 |
| ruby18 | Ruby 1.8.7    | 1.8.7p358 |
以下略
 上記の様に表示された場合、JAVAでデプロイするとJAVAのバージョン6が既定で選択されます。こういった場合、「push」のオプションに「--runtime java7」を指定することで、強制的にJAVAのバージョン7を使うことができます。
udn push test-app --path test-app.war --runtime java7

■UPDATE

一度デプロイしたアプリケーションはアップデートすることも可能です。
アップデートの際にはRuntimeを指定する必要はありません。
udn update test-app --path test-app.war