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

2016年5月1日日曜日

シマンテックのクロスルートなサーバ証明書が使えなくなる?

2016年4月のマイクロソフト社のルート証明書情報更新の影響と対策に関するご案内(続報) | Symantec

意訳
Microsoftが2016年4月19~20日(日本時間)に配信するルート証明書情報の更新により、シマンテックのクロスルートを付けているサーバ証明書を使っている場合にWindows上の(Firefox以外の)ブラウザで警告が出るようになる。
回避するにはクロスルートを外す。


このMicrosoftの更新はWindows Updateとは別らしい。
なお、4/19~20となっているが4/20になってMicrosoftが更新を延期したらしい。(結局、4/26~27に実施。)


クロスルートを外すと、ガラケー等で使えなくなるのでは?

クロスルート設定用証明書の設定について、どのような対応が必要でしょうか? | Symantec のPDFによると、ガラケーへの影響は2機種のみ。スマホでもいくつか影響があるが、発売が2010年以前なので影響は少なそう。SHA-1を切り捨てたことにより、既に古いガラケーの多くはSSL/TLSの対象外になっていた。

ちなみに、 Windowsが遂にSymantecG1ルートを捨てるらしい - 情緒不安定。 によるとクロスルート証明書のIssuerが問題なので、中間CA証明書(クロスルートを含む)自体がG1でなくても影響がある。(シマンテックがクロスルート証明書として配布している VeriSign Class 3 Public Primary Certification Authority - G5 のIssuerがG1なので。)


クロスルートを付けている場合に問題が発生するクライアントPC(Windows)の条件を見ると、

条件3 : クライアント環境のルート証明書ストア(Windows Trusted Root Store)に、G5ルート証明書*2が含まれていない場合
*2「VeriSign Class 3 Public Primary Certification Authority - G5」
とある。

おのれSSL!謀ったな・・!! | ツチノコブログ によると、
最近のブラウザではPC/スマフォ問わずにG5証明書が予めインポートされています。ですがwindowsXPのSP2以前やフィーチャーフォンの一部端末はG5証明書がインポートされておらず、『VeriSign Class 3 Public Primary CA』(通称:G1証明書)がインポートされています。

【追記有(2016.04.22)】Windowsが遂にSymantecG1ルートを捨てるらしい - 情緒不安定。 でも、
SymantecG5ルート証明書が入っていないパソコン。
つまり、レガシーなパソコンです。(WindowsXP以前、WindowsUpdateなどを定期的に行ってないと怪しいです。)
とあるので、Windows Vista以降は大丈夫?

でも 2016年4月のマイクロソフト社のルート証明書情報更新の影響と対策に関するご案内(続報) | Symantec によると、XP以降はG5証明書が初期状態ではインストールされていなくて、必要になったらインストールされるらしい。インストールされていない状態でシマンテックのクロスルートに当たると、G1の方を読んでしまうのでエラーになってしまう。


HTTPS セキュリティ証明書における SHA-1 から SHA-256 へのハッシュアルゴリズムの変更について によると、クロスルート無しでクライアント(接続元)がJavaの場合、
1.4.2 より前 → 接続できない
1.4.2 ~ 1.6.0_18 → ごにょごにょしてG5をCAストアに追加すれば接続できる
1.6.0_19 以上 → 接続できる

Java SE 6 Update 19 Release Notes. から Bug ID: JDK-6904162 Add new VeriSign root CA certificates to JRE and remove some old/unused ones を見ても、「verisignclass3g5ca」とあるので6u19でG5が追加されたようだ。


シマンテックによるG5のテストサイトは Symantec SSL test (中間CAがクロスルート無しの「Symantec Class 3 EV SSL CA - G3 」で、そのIssuerがG5。)

2015年2月16日月曜日

Windowsで Tomcatの Java参照先を変える方法

WindowsでJavaをUpdateしたら、Tomcatが起動しなくなった。

[info]  [ 6796] Commons Daemon procrun (1.0.15.0 32-bit) started
[info]  [ 6796] Running 'Tomcat7' Service...
[info]  [ 6844] Starting service...
[error] [ 6844] Failed creating java C:\(略)\jre7\bin\client\jvm.dll
[error] [ 6844] 指定されたパスが見つかりません。
[error] [ 6844] ServiceStart returned 1
[error] [ 6844] 指定されたパスが見つかりません。
[info]  [ 6796] Run service finished.
[info]  [ 6796] Commons Daemon procrun finished


原因
UpdateによりJavaのバージョンが8(1.8)になり、Javaのあるフォルダが変わっていた。

対策
Tomcatの、(Tomcat7.0の場合)Tomcat7w.exeを実行すると、設定ダイアログが表示される。
その中で、jvm.dllのpathを指定する箇所あがあるので、今あるjvm.dllを指定する。


参考:shin'nosukeさんのアレグロモデラート:Tomcat サービスが使う JRE (JDK)の場所

2014年4月20日日曜日

Group Sessionのバージョンアップ、データ移行

無償で使えて意外に高機能なグループウェアのGroup Sessionのバージョンアップ方法のメモ。全部本家に丁寧に書いてあった。

動作環境(Java、Tomcat)
動作環境 | 無料グループウェア Group Session

Tomcatのインストール
インストールガイド(Windows + Tomcat) | 無料グループウェア Group Session

Group Sessionのバージョンアップ
v2.x.x、v3.x.x、v4.x.xをv4.2.5へアップデートする方法 | 無料グループウェア Group Session

バックアップファイルからのリストア
データベースファイルのバックアップ、リストア | 無料WEBグループウェア Group Session

2011年11月7日月曜日

Titanium Studioで作ったアプリを Android Marketに登録する手順


Titanium Stuidoで作ったAndroidアプリをMarketに登録できる証明書付きapkファイルにする手順は下記の通り。

  1. JDKのbinフォルダ内にあるkeytool.exeを使って、keystoreを作成する
    (作成時に入力するAliasとパスワードを覚えておくこと。)
    参考:keytoolコマンドで公開するandroidアプリに署名するための証明書(鍵)を生成する
  2. Titanium StudioのProject Explorerで該当のプロジェクトを右クリックする
    (Procejt ExploerはTitanium Studioの左側に表示されているView。表示されていない場合はメニューの「Window」→「Show View」から表示できる。)
  3. 表示されたコンテキストメニューから「Deploy」→「Distribute - Android」を選択する
  4. テキストボックスに必要事項を入力してFinish
    ※Distribution Location(apkファイルの作成場所)のパスに半角スペースを含むとエラーになるので注意。
  5. 慌てずにしばらく待つ(少し時間がかかる)
  6. 4で指定したフォルダにapkファイルが作られる

参考:295 デプロイと配布 - Training Lab Tutorials - Appcelerator Wiki


Android Marketに登録するには、最初にGoogle Checkoutで25ドル支払う必要がある。

また、Marketに登録する際にはスクリーンショット等の画像をアップロードできる。
参考:

2011年11月2日水曜日

Seasar2入門の参考サイトとプロダクト選択のメモ

久しぶりにJava村に帰ってきた浦島さんの玉手箱メモ。


まずは概要を把握。



一口にSeasar2と言ってもたくさんプロダクトがあるので、Webアプリを作る場合にどのプロダクトを使うべきか調査。

  • MVCは、S2Struts or SAStruts or Teedaのどれがいい?
    • S2StrutsかSAStrutsだとどっち?
    • SAStrutsとTeedaでは?
      • Teeda
        • TeedaはJSFの実装
        • Teeda Extensionを使えばHTMLをテンプレートにできる
      • 「Seasarの問題点など」にそろそろ一言いっておくか - ひがやすを blog
        ただ、無責任に何でも自由というのは良くないので、SAStrutsとS2JDBCの組み合わせが、もっとも無難だというメッセージを出しているわけです。
      • SAStrutsとS2JDBCを作ったわけ - ひがやすを blog
        TeedaとS2Daoは、基本的に規約ベースのフレームワークです。規約を知っていれば、本当にさくさく開発できます。でも、規約ベースなので、規約を知らないと、何にもできなくなっちゃう。この辺が、大規模開発には向かないところ。
        SAStrutsとS2JDBCは、大規模案件にも耐えられるように最初から設計されています。
      • 感想:チームでの開発や今後のメンテを考えると、参考情報も経験者も多いStrutsの名前を冠するSAStrutsに比べてTeedaは学習コストがかかりそう
    • 結論:SAStrutsが無難
  • S2JDBC or S2Daoのどっちを使う?
    • HibernateとS2DaoとS2JDBCの考え方 - ひがやすを blogより引用
      • S2Daoについて
        S2DaoはSQLを中心に考えます。とはいえ、すべてのSQLを開発者が書くのは効率が悪いので、挿入、更新、削除は、S2DaoがSQLを自動生成しますが、検索は、開発者にSQLを書いてもらいます。
        デメリットは、SQLを書くのが面倒なことです。また、検索の結果セットごとにDTOを作らなければいけないので、DTOが増える傾向があります。
        Webのフレームワークとの組みあわせでいくと、Teeda Extensionは、S2Dao(DTO)と相性が良いように設計されているので、Teedaを使う場合は、S2Daoが良いと思います。
      • S2JDBCについて
        S2JDBCは、エンティティ(Java)とテーブル(データベース)は、同一のモデルだとみなしています。また、複雑なSQL以外は、すべて自動生成します。
        デメリットは、エンティティの設計が、テーブルに引きずられ、完全にドメインをあらわしたものにならないこと。
    • 感想
      • S2DaoはINSERT/UPDATE/DELETEのSQL自動生成と、手作りしたSQLの実行をしてくれるみたい
      • S2JDBCはDAOではなくApache CommonsのDbUtilsのようなSQLビルダー?
    • 結論:TeedaでないならS2JDBCで



久しぶりにJavaの世界に帰ってきたら、昔使ってたStruts1.3(1.x系は1.3で止まってるとは意外)のラッパーであるSAStrutsと、同じく昔使ってたJakarta Commons(現在は昇格してApache Commons)のDbUtilsに似たS2JDBCが最前線だなんて、奇遇と言うか、あるいは必然なのかな。

2011年10月17日月曜日

Windows XPに Titanium Studioをインストール


開発構築にリトライしたメモ。
インストールからKitchen Sinkを動かすまで。
Titanium StudioもAndroid SDKも重いので、なるべくパワーのあるPCでやった方がよい。


まずはインストール

  • JDK
    • Java SE Downloadsから、Java SE 6の最新版をダウンロードしてインストール
      • 7だとダメらしい
      • インストール時には、pathにスペースを含まないようにする?
    • Windowsの環境変数「PATH」にbinフォルダのpathを追加
      • 環境変数「JAVA_HOME」を登録し、PATHには"%JAVA_HOME%\bin"の形で登録しておくと、JDKのバージョンが変わった時の変更が楽になるし分かりやすい
  • Android SDK
    • Android SDK | Android Developersから、最新版をダウンロードしてインストール
      • インストール時には、pathにスペースを含まないようにする
    • SDK Managerを起動(通常は自動で立ち上がるらしい)
    • 必要なパッケージをインストール
      • SDK Platform Android 2.1は必須
        • これが無いとTitanium StudioがAndroid SDKを認識しないらしい
      • Google APIs by Google Incも必要
        • これが無いとエミュレータがうまく動かない
      • かなり時間がかかる
      • 迷うなら全部入れておけば無難(ただし時間はかかる)
    • platform-toolsフォルダ内のadb.exeを、toolsフォルダにコピー
      • 以前はtoolsフォルダにあり、Titanium Studioがそれに合わせた動きをするため
    • Windowsの環境変数「PATH」にplatform-toolsフォルダとtoolsフォルダのpathを追加
      • JAVA_HOMEと同様に、ANDROID_SDKとか環境変数として登録すると良いでしょう
  • Titanium Studio


動作確認
  • Titanium Studioを起動
    • Work Spaceの場所を訊かれる。スペースを含まないpathを指定する(?)
    • Titanium(appcelerator)のアカウントを訊かれるので入力
    • Firewallが警告を出してきたら許可
    • Gitが無いと言ってきたら、「Use PortableGit」をクリック?
  • Mobileのプロジェクトを作成
  • 実行
    • 実行前にadb.exeが実行されていたら、タスクマネージャからプロセスを終了(?)
    • プロジェクトをRun
    • Firewallが警告を出してきたら許可
  • 「I am Window 1」が表示されればOK!
    • 「[TRACE] adb devices returned 0 devices/emulators」が続いてタイムアウトしたら、タスクマネージャから「adb.exe」のプロセスを終了させてから再実行する


KitchenSinkを動かす


さあ始めよう


参考

2011年5月31日火曜日

Firefoxのアドオンから Java Consoleを削除する方法

Javaをインストールすると勝手にインストールされるFirefoxアドオンの「Java Console」。
要らないので削除したいのだが、通常のアドオンと違って「削除」ボタンが表示されないので普通には削除できない。

そこで、「Java コントロールパネル」で下図のように「ブラウザのデフォルトの Java」の「Mozilla ファミリ」のチェックを外したら、アドオン一覧に表示されなくなった。



同じような状況のアドオンとして「Java Quick Starter」があるが、これも同様に上記の図の「その他」のところにある「Java Quick Starter」のチェックを外せばアドオン一覧に表示されなくなる。

2011年3月25日金曜日

プログラム言語とフレームワークのオンラインマニュアル29選


Webで公開されている、プログラム言語・フレームワーク・DBのマニュアル(リファレンス)サイトへのリンクをまとめてみた。
選んだ基準は、できるだけ日本語で、なるべく分かりやすいこと。それを満たすなら公式リファレンスより非公式のものを優先している。



JavaScriptのマニュアルは他にも色々あり、使う人のレベルや用途によってどれが使いやすいかが変わってくると思うが、昔大変参考にさせて頂いた杜甫々版を挙げておいた。

Python、Perl、Objective-Cについては公式/準公式のリンクを書いたが、有志によるマニュアルでもっと良いものがあるのかもしれない。(これらの言語はあまり使わないので知らない。)

2010年11月28日日曜日

HMAC方式で認証用のハッシュを生成するメモ


HMAC
(Keyed-Hashing for Message Authentication Code)とは?

HMACはハッシュ(Message Digest)生成アルゴリズムで、MD5やSHA1、SHA2等と組み合わせて使う。(それぞれ「HMAC-MD5」「HMAC-SHA1」などと呼ばれる。)



なぜ認証用のハッシュがHMACでなければいけないのか?

HMACでないハッシュ関数を認証用のハッシュ(トークン)生成に使うと、秘密鍵を知らなくても任意のハッシュを生成できるケースがあるらしい。(参考:Kazuho@Cybozu Labs: Re: はてな認証 API

よく理解していないけど、ハッシュアルゴリズムがデータブロック単位で処理することに起因している?
暗号化においてCBCでIVが固定の場合と同じような問題?(参考:floatingdays: PHPで AES方式 (Rijndael-128)で暗号化するメモ

それに対してHMACでは、変換元の値とは別に指定する秘密鍵組み合わせることにより、上記の問題を回避しているらしい。(参考:HMAC: Keyed-Hashing for Message Authentication



HMAC方式でハッシュを生成する方法

今どきのプログラム環境は言語レベルで実装してるみたい。

PHP 5.1.2以降の場合
HMAC 方式を使用してハッシュ値を生成する - PHP 5.3 日本語マニュアル

PHP 5.1.1以前の場合、外部ライブラリとしてmhashが必要 (参考:導入 - PHP 5.3 日本語マニュアル
ハッシュ値を計算する - PHP 5.3 日本語マニュアル

Javaの場合
試験管のなかのコード :: JDK 1.4.x 環境で HMAC with the SHA256 を使用する方法



参考:

2009年5月7日木曜日

Sinatra on Ruby on JRuby on Java on Google App Engine for Java

環境構築メモ。


Sinatraとは?



Google App Engine for JavaでSinatraを動かす


Datastore APIを扱う


所感
  • Sinatraは素敵だが、こんな準備が必要なら素直にPythonで書いた方が楽そうだ

2008年10月30日木曜日

Scala調査メモ

Javaから離れて久しいが、最近Scalaが気になる。



感想:
  • 文法が面白い。ループとか。
  • XMLを練り込めるのが面白い。
  • 特にレンタルサーバの場合など、PHPほど気軽に使えなさそう。
  • Apacheのモジュールで動けば気軽に使えるのだが...

2008年3月22日土曜日

次の中で好きなプログラム言語は?の投票結果

PHP 17 (44%)
Java 9 (23%)
Ruby 7 (18%)
JavaScript 7 (18%)
C++ 7 (18%)
C# 5 (13%)
Perl 4 (10%)
Python 3 (7%)


ブログの内容からしてPHPが多いことは想像できたが、JavaとC#が思ったより多かったのは意外だった。PythonがゼロじゃなかったのはTracの影響かな?

2007年4月3日火曜日

Apache Jamesは生きていた

 Apache JamesはApacheプロジェクトの1つで、Pure Javaなメールサーバ。Pure Javaなので稼働環境を選ばず、いろんなアクションをJavaアプリとして作る事が出来る。昔ちょっと使っていたことがあった。

 しかし、このJamesの土台となるApache Avalonフレームワークは2004年にプロジェクトを停止し、解散してしまった。
 それにともないJamesも活動を停止。今後どうなるんだろう?Avalonの核であるPhoenixがCodehausに移籍するから、JamesもCodehausで面倒見るのかな?とそのころ心配してた。

 で、久し振りに見てみたら、Jamesは復活していた!

James Project - Overview

 Apacheプロジェクトのままだ。しかも新バージョンを出している。時間はかかったみたいだけど。
 何はともあれ、昔馴染みの戦友に会ったようで、少し嬉しかった。

2007年3月22日木曜日

WindowsでRubyがやりたきゃJRuby!?

 Linuxだと当たり前のように使えるRubyだが、Windowsでやろうとすると意外につまずく。環境作りにも何種類かあって、それぞれ一長一短だったり。Cygwin使うのが普通かな?それでもたしかRubyの全てを問題なく動かすことは出来ない。

 そんな諦めかけてたRuby on Windowsに朗報。

【特集】Java + RubyのJRuby - EJBからSwingまでRubyからJavaを使い倒す (1) JRubyとは? (MYCOMジャーナル)

 こんな手があったとは。なんか冗長な気もするが、JREならCygwinよりも敷居が低い。しかもJavaのlibraryが使える。JSE6だとGroovyとかJavaScriptとかとも組み合わせられる?とにかくまぁ、Rubyが身近になった気がするね。

ブログ アーカイブ

tags