- PR -

JSSEの設定について

1
投稿者投稿内容
TSUYOSHI
常連さん
会議室デビュー日: 2004/09/02
投稿数: 32
投稿日時: 2006-03-09 17:43
現在、JSSEを使用してHTTPSリクエストを実行しようとしています。
なんとか、リクエスト自体には成功したのですが
根本的な原因が解決できていないため、質問させていただきました。

問題は、起動時に
-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
を付けて動かすとHTTPSリクエストが投げられるのですが
それを指定していないと、
java.net.MalformedURLException: unknown protocol: https
が発生します。

JSSEのインストールにはこのようなことは書いていため、私の設定が別のところで間違っている可能性があると思うのですが、どうなんでしょうか?

宜しくお願いします。

環境は、以下の通りです。
OS:CentOS release 4.2 (Final)
Java:J2SE 1.4.2_10
JSSE: jsse1.0.3_03

--- ソース -------------------------

package ito.test.x01;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class TestURL
{

public static void main(String[] args) throws Exception
{
// URLクラスのインスタンスを生成
URL helloURL =
new URL("https://******/");
// 入力ストリームを生成
BufferedReader in = new BufferedReader(
new InputStreamReader(
helloURL.openStream()));

// 一行ずつ読み込みます
String line;
while ((line = in.readLine()) != null) {
// 表示します
System.out.println(line);
}

// 入力ストリームを閉じます
in.close();

}
}
-------------------------------------------------

実行結果 (成功例
[root@cerss2 tmp]# java -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol ito.test.x01.TestURL
(レスポンス内容が出力される)


実行結果 (失敗例

[root@cerss2 tmp]# java ito.test.x01.TestURL
Exception in thread "main" java.net.MalformedURLException: unknown protocol: https
at java.net.URL.<init>(URL.java:544)
at java.net.URL.<init>(URL.java:434)
at java.net.URL.<init>(URL.java:383)
at ito.test.x01.TestURL.main(TestURL.java:26)

未記入
常連さん
会議室デビュー日: 2005/02/23
投稿数: 20
投稿日時: 2006-03-09 18:05
JSSEのドキュメントにはその方法か以下の方法を使うと書いて有りますね

System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");


http://java.sun.com/j2se/1.4.2/docs/guide/security/jsse/JSSERefGuide.html#HttpsURLConnectionEx
TSUYOSHI
常連さん
会議室デビュー日: 2004/09/02
投稿数: 32
投稿日時: 2006-03-09 18:59
早速の返答ありがとうございました。

やはりそうですか
JSSEはプログラムレベルの設定が必要みたいなのですね。
システムプロパティを設定する方法で、行きたいと思います。

ありがとうございました。
1

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