Personal tools
You are here: Home 日々のメモ書き Topics Java
OpenID Log in

OpenID Log in

 

Java

Feb 09, 2008

CAS認証について

by TANIGUCHI Takaki — last modified Feb 09, 2008 11:28 PM
Filed Under:

どこぞで使っているCAS(Central Authentication Service)認証を使ったサービスをちょっと使ったので前から気になっていることをまとめて書く。

  • クライアントとアプリケーションの参照しているDNSが両方乗っ取らられたら死ぬよね。認証サーバが変なとこ挿していても気付かない。
  • さてアプリ側のDNSのみ乗っ取られたとする。偽CASサーバーを立ててアプリ側からそっちを見るようにする。偽CASサーバーは通常は透過的に本物のCASサーバーに接続させているとする。CASの手続として認証が終わったことにするとGETでチケットをアプリに渡して、アプリはチケットの検証を偽CASに問い合わせる。通常ならチケットは使い捨てのランダムな文字列なので、手動で適当にチケットを生成するなどの横取りは難しい。が、偽CASが偽チケットを許可したらどうなるか…。
  • SSL証明書でサーバーの信頼性を確保?EV SSLじゃなかったら最近のSSL証明書なんてどこまで信用できるのやらという見方もできるよね。大体アプリのコードの中でSSL証明書の検証していますか?
  • さて、この推測に誤りはあるのだろうか?
  • さて、正しいものとして進める。確かにDNSを外部から乗っ取るのは楽ではないかもしれないが、DNSの管理者はアプリの管理者と同一とは限らない中でDNSの信頼性に頼るやりかたでいいのだろうか。脆弱性とはではいかんけどさ。SSL証明書がどこまで信用できるかがポイントかなあ。
  • ところでせっかくのポータル上で動いてないのはなぜだろう。

Aug 14, 2007

Alfrescoインストール

by TANIGUCHI Takaki — last modified Aug 14, 2007 02:21 PM
Filed Under:

ECM(Enterprise Content Management)をインストールする。

  • Alfrescoのサイトからtomcatバンドルをダウンロード。バージョンは2.1。
  • /opt/alfrescoにtarballを展開。
  • DBはHSQLで妥協。
  • JAVA_HOME=/usr/lib/jvm/java-6-sun sh alfresco.sh start で起動。JAVA_HOMEがないと怒られる。
  • sambaが動いているとポートがかぶるので問題あります。止めときましょう。
  • http://localhost:8080/alfresco にアクセス
  • 見えた。ばんざーい。

Aug 02, 2007

Openbravoに挑戦

by TANIGUCHI Takaki — last modified Aug 02, 2007 12:40 AM
Filed Under:

オープンソースのERPのOpenbravoに挑戦。

2.31betaのバイナリパッケージをインストール。むー、tomcatがエラーを吐く。

2007/08/01 20:15:31 org.apache.catalina.loader.WebappClassLoader validateJarFile
情報: validateJarFile(/var/lib/tomcat5.5/webapps/openbravo/WEB-INF/lib/servlet-a
pi.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class:
javax/servlet/Servlet.class

多分jarファイルの衝突とかなんとかだろう。

ちがった。こんなのどうでもいい。

2007/08/01 20:28:35 org.apache.catalina.core.StandardContext start
致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/openbravo]

こっちのほうが問題だ。

捜せば同じ問題で悩んでいる人がいた。tomcatのセキュリティのパラメータらしい。Debianは/etc/default/tomcat5.5を編集する。TOMCAT5_SECURITY=noとすればOK。よし、ログイン画面が出たとこで今日は終了する。

Apr 29, 2007

apacheds-1.5.0を使ってみる

by TANIGUCHI Takaki — last modified Apr 29, 2007 11:30 PM
Filed Under:

いつのまにか(4/12)にリリースされていた。

インストールは1.0.1と同じ。
# java -jar apacheds-1.5.0-linux-i386-setup.jar
を実行する。

適当にウィザードに答える。管理者がuid=admin,ou=systemになっていた。間違えてメモしていたかな。conf/server.xmlに設定が書いてあるので気にいらなかったら変更する。

Multi-Master replicationが実装されたそうなので、そのうち試してみることにする。

Apr 21, 2007

Sun Java Enterprise System 5

by TANIGUCHI Takaki — last modified Apr 21, 2007 12:55 PM
Filed Under:

ためしにインストール。

こんだけいろいろ入っているのに無料で配るなんてSunも太っ腹だね。と言っても何をするものなのかいまいちわかってない。
Solarisが普通なんだろうけどCentOS4に入れてみる。インストーラは見慣れたSunのJavaを使ったインストーラかね。
メモリは1GB、スワップに4GB要求とはさすがだね。
なんだかいっぱいありすぎてわけがわかりません。何ができるんですか、これ。

えーと、CentOSに入れようとしたら途中から進まなくなったので中断。何か管理ツールに接続できないようだ。意味わかんね。

Mar 25, 2007

JasperReportsで日本語を使う

by TANIGUCHI Takaki — last modified Mar 25, 2007 11:20 PM

次は日本語だね、って適当にやってみるとエラーが出る。

さっき作ったJasperReportsのサンプルコードのデータソースに日本語を与えてみようと挑戦。次の段階として当たり前だね。jrxmlをiReportで編集。Textのプロパティを見ていけばPDF FontとPDF Encodingという欄がある。HeiseiMin-W3・UniJIS-UCS2-Hにそれぞれ設定。PDFのフォント設定として普通の設定ですね。

次にJavaのコードの変更。コード中に適当に日本語のデータを埋め込む。よし、これで実行…、あれ?
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName : HeiseiMin-W3
pdfEncoding : UniJIS-UCS2-H
isPdfEmbedded : false
at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:1465)
at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1368)
at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1351)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:1708)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:590)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:554)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:519)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:306)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:126)
at MapArrayDSReport.main(MapArrayDSReport.java:68)

というようなエラーが。調べてみるとiTextがデフォルトでCJKに対応してないからということが原因だった。iTextAsian.jarをダウンロードしてきてCLASSPATHに追加すると見事表示された。ここはまるので注意。

JasperReportに挑戦

by TANIGUCHI Takaki — last modified Mar 25, 2007 10:28 PM

やっとこさJasperReportを使ったプログラムを書けた。

一から頑張るなんてことはやらないで、JasperForgeにあるサンプルをもとに改造した。サンプルのjasperbook_chapter_5のソース(JasperCompileManager.java)を改造する。もともとのコードはサーブレットになっている。そんなことされてはめんどくさいのでその場でPDFを生成するように改造した。そのあたりはThinkITの記事を参考に。ずらずらとソースを並べても仕方がないのでmainのところだけ書く。
	public static void main(String[] args) {
String templatePath = "./template/AircraftReport.jrxml";
String destPath = "./JasperSample1.pdf";
try {
JasperReport jasperReport = JasperCompileManager
.compileReport(templatePath);

JRDataSource dataSource = createReportDataSource();

JasperPrint print = JasperFillManager.fillReport(jasperReport,
new HashMap(), dataSource);
JasperExportManager.exportReportToPdfFile(print, destPath);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}

てな具合です。

ThinkITの記事はデータソースがデータベースとの接続を前提とした記事になっていたので別のコードを見なきゃデータソース変更の方法がわからなかっただけです。一回書いてみると別にデータソースの変更に面倒な話は何もない。Eclipseを使ったから勝手に補完にヘルプで楽だった。

Tikal

by TANIGUCHI Takaki — last modified Mar 25, 2007 01:43 PM
Filed Under:

Eclipseのpluginの管理ツールのTikalを使ってみる。

便利なんだけど、こういうツールが出てくることが成長ぶりというか、無秩序な拡大というか。なんか別のツールでまとめて管理とかいうのを見た記憶があるぞ。たまにしかEclipseをみないとわけわからん。

Mar 21, 2007

JPype

by TANIGUCHI Takaki — last modified Mar 21, 2007 01:08 PM
Filed Under:

PythonからJavaのライブラリを呼び出すソフトウェア。

Jythonとは違うアプローチ。将来はPython依存の部分をなくせば他の言語からもJavaが使えるようになるよとかあるな。
CインターフェイスからVMを呼び出すのかなとソースを斜め読みした適当な発言。
これでJasperReportsがPythonから使えれば便利だと思う。

ちなみにこんなふうになる。
>>> from jpype import *
>>> startJVM("/usr/lib/jvm/java-6-sun/jre/lib/i386/server/libjvm.so", "-ea")
>>> java.net.URL("http://example.com")
<jpype._jclass.java.net.URL object at 0xb7d301ec>
>>> u = java.net.URL("http://example.com")
>>> u.host
u'example.com'
>>> u.protocol
u'http'

これはすごいかも。

Jan 22, 2007

JasperIntelligence

by TANIGUCHI Takaki — last modified Jan 22, 2007 11:37 PM
Filed Under:

JasperIntelligenceをためすことに。

バイナリをダウンロードしてきてインストーラを起動させると途中でこける。む。

Jan 21, 2007

BIRT

by TANIGUCHI Takaki — last modified Jan 21, 2007 01:51 PM
Filed Under:

帳票ツールのBIRTをためそうとしたが…。

Debian GNU/Linux sidで動かすのに苦労する。JVMによって挙動が違うのはなぜ?結局J2SE6でまともに動く。gijとJ2SE5では挙動がおかしかった。なんですかね、こりゃ。jniがからむから?

Jan 11, 2007

iReportとJRE

by TANIGUCHI Takaki — last modified Jan 11, 2007 12:18 AM
Filed Under:

JasperReportsで遊ぶことにしたので、フォーム作成ツールのiReportを動かそうとする。

なぜかNullPointerExceptionで落ちる。runtimeの問題かなーと思ったらやっぱりそうだった。gcjからSun JDKに変更したら普通に起動した。
takaki's twitter
以外に元気に週末を迎えたな Mar 12, 2010 10:04 PM
焼酎風味の水に500円も取ろうとはどういう店だ。 Mar 09, 2010 10:53 PM
ジョブカードなる糞エクセル方眼紙を埋め中。心が折れそうだ。 Mar 08, 2010 10:16 PM
Excel方眼紙がOOoで崩れるわけだが。 Mar 04, 2010 10:49 PM
嫌味言ってりゃ世の中良くなるわけでもなし Mar 04, 2010 10:06 PM
Affiliate