2012-01-23 16 views
2

HTTPS経由でサーバーで認証しようとしています。私は握手に問題があります。これは、ブラウザのURLに行くと、ポップアップボックスが表示されるためです。私がそれをキャンセルすると、私は再びログインするためのフォームに行くことができます。サーバーのセキュリティはTAMです。HTTPS経由のJava認証

実際に私が問題を抱えているのは当初です。私はこのコードを実行しようとすると:

 HttpResponse response = httpclient.execute(httpget); 

を私はそのjavax.net.ssl.SSLPeerUnverifiedException: peer not authenticatedを述べるIOExceptionエラーが発生します。私が使用しているサンプルコードは、Apache HTTPClientのドキュメントです。私も組み込みのJava認証メソッドを使用しようとしましたが、証明書が信頼されていないと言って、ハンドシェークに関する他の問題が発生します。

とにかく、私はこのタイプのものが十分に基本的であるべきだと思っていたので、挫折しています。

HTTPS経由で認証するためのサンプルコードに私を導いてくれる人がいますか?

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

EDIT: ただ、証明書に関連して、JavaのHTTPの認証に建て使用しているとき私が得る別のエラーを追加する:

javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.g: PKIX path building failed: 
java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
java.security.cert.CertPathValidatorException: The certificate issued by CN=XXX Internal Root CA, O=XXX Corporation, C=US is not trusted; internal cause is: 
java.security.cert.CertPathValidatorException: Certificate chaining error 

答えて

0

ここでの問題はWindowsです。または具体的にWinInet API、明らかに。

すべての証明書を受け入れるカスタムTrustManagerを作成して、正常に接続できます。また、Linux上でハックせずに自分のコードを試してみるとうまくいきます。ですから、Windowsがキーストアをどのように扱うにしても、私には問題があります。

0

それはあなたがJVMキーストアに、サーバーのSSL証明書が欠落しているようで、必要にkeytoolを使用して証明書をインポートします。方法は以下の通りです。linkここに別のlinkがあります(Gmailの場合でも便利です)

+0

私はブラウザでウェブサイトにアクセスし、証明書を見つけました。私はそれをダウンロードし、keytoolを使ってそれをインポートしましたが、それでも私は同じエラーを与えています。 http authのデフォルトのjavaメソッドを使用して '証明書チェーンエラー'を取得していますが、私はapache java authを使って 'peer not authenticated'を取得しています。何か案は? – eoinzy

関連する問題