- PR -

jakarta-commonsのhttpclientによるHTTPS(SSL)通信について

1
投稿者投稿内容
watanabe
会議室デビュー日: 2004/02/05
投稿数: 2
投稿日時: 2004-02-05 18:15
Solaris8
J2SDK1.3.1
commons-httpclient-2.0-rc3
jsse1.0.3_02(JSSEのjarファイル群は所定のディレクトリに入れています)

という環境で、jakarta-commonsのHTTPclientモジュールを使って
https://なWebサーバからコンテンツを取得するコードを書いています。
通常のhttp://なコンテンツをGETするところまではできたのですが、
SSL通信はエラーになってしまいます。

HttpClient client = new HttpClient();
String url = "https://テスト用のApacheWebサーバ";
//
//テスト用のサーバのSSL証明書は署名のない独自のものです
//
GetMethod get = new GetMethod(url);
int iGetResultCode = client.executeMethod(get);
String str = get.getResponseBodyAsString();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("hogehoge");
out.println(str);

エラー内容:
java.net.SocketException: SSL implementation not available
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(DashoA6275)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:112)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:683)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:661)

やはりJSSEの設定をきちんと施さなければダメでしょうか?
これ以上環境をいじりたくないので、
できればこのコーディングだけでなんとかしたいのです。

#他にも似たスレッドがあるようなのですがあえて新規につくらさせていただきました

yuzy
大ベテラン
会議室デビュー日: 2002/02/14
投稿数: 117
投稿日時: 2004-02-05 18:26
JDK1.3での解決方法を知っていますが、JDK 1.4を使った方が楽です。
JDK1.4を使うわけにはいかないんでしょうか?
watanabe
会議室デビュー日: 2004/02/05
投稿数: 2
投稿日時: 2004-02-05 18:31
引用:

yuzyさんの書き込み (2004-02-05 18:26) より:
JDK1.3での解決方法を知っていますが、JDK 1.4を使った方が楽です。
JDK1.4を使うわけにはいかないんでしょうか?



それが、使用しているAPサーバの関係上、完全にJDK1.3にしばられてるんですよ。(涙)
1

スキルアップ/キャリアアップ(JOB@IT)