- - PR -
commons-httpclient-2.0でSSLページが取得できない
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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(); } } |
|
投稿日時: 2004-03-15 17:04
これじゃないですか?
JDK/JREのVerisign Class 3/Class 2 PCA証明書の期限切れについて |
|
投稿日時: 2004-03-16 08:55
でゅうくさん、レスありがとうございます。
IBMのサイトからcacertsをダウンロードしてやってみましたがダメでした。 とりあえず、CAの期限切れでないのは分かったので一歩前進です。 他に色々試してみますね。 |
1
