- PR -

commons-httpclient-2.0でSSLページが取得できない

1
投稿者投稿内容
ときお
会議室デビュー日: 2004/03/15
投稿数: 2
投稿日時: 2004-03-15 16:35
ときおと申します、初めまして。

jakartaプロジェクトのhttpclient-2.0を使ってSSLでページを取得したいのですが、うまくいかず困っております。

まず、ECLIPSを使ってhttpclientのSSL Guide のサンプルプログラムを実行してベリサインのページを取得しましたが、うまくいきました。
続いて、DOSプロンプトから実行したところ、sun.security.validator.ValidatorException
:No trusted certificate foundというエラーが出てしまいます。

ベリサインの証明書をインポートしていないからかなと思い、SDK1.4のマニュアルを読みましたが、cacertsというファイルにベリサインはデフォルトで登録されている様子。
さっきECLIPSで動いていたのに何で?というのが率直な疑問です。

私が基本的に勘違いしているのは間違いありませんが、どうしてよいものやらさっぱり分かりません。JSSEの設定が必要なんでしょうか?それとも実行の仕方が悪いのでしょうか?

教えてください、よろしくお願いします。


実行環境 OS:Win2K JDK:1.4.2_03 httpclient:2.0 ECLIPS:2.11

実行時の起動
java -classpath .;commons-httpclient.jar;commons-logging.jar;commons-logging-api.jar;log4j.jar SSLTest

ソース
import org.apache.log4j.*;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;


public class SSLTest extends Thread {

private Logger logger;
private String logFileName = "log4j.properties";

public SSLTest()
throws org.apache.commons.httpclient.URIException
{
}

public void run()
{
try{
HttpClient httpclient = new HttpClient();
GetMethod httpget = new GetMethod("https://www.verisign.com/");
httpclient.executeMethod(httpget);
byte[] responseBody = httpget.getResponseBody();
String html = new String(responseBody);
System.out.println(httpget.getStatusLine().toString());
System.out.println(html);
} catch (Exception ex) {
ex.printStackTrace ();
}
}

public static void main(String args[])
throws org.apache.commons.httpclient.URIException
{
SSLTest sslTest = new SSLTest();
sslTest.logger = Logger.getLogger(SSLTest.class.getName());
PropertyConfigurator.configure(sslTest.logFileName);
sslTest.start();
}

}
でゅうく
大ベテラン
会議室デビュー日: 2003/11/30
投稿数: 129
投稿日時: 2004-03-15 17:04
これじゃないですか?

JDK/JREのVerisign Class 3/Class 2 PCA証明書の期限切れについて

ときお
会議室デビュー日: 2004/03/15
投稿数: 2
投稿日時: 2004-03-16 08:55
でゅうくさん、レスありがとうございます。

IBMのサイトからcacertsをダウンロードしてやってみましたがダメでした。
とりあえず、CAの期限切れでないのは分かったので一歩前進です。
他に色々試してみますね。

1

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