2012-03-08 65 views
0

通過HTTPS消費Webservice消費Webservice和2路SSL

我們有一個web服務,我們從我們的最終消費。

Webservice可以在HTTP和HTTPS協議上運行。 使用HTTP沒有問題,但如何使用HTTPS訪問。

任何人都可以告訴我相同的java代碼。我需要在應用程序級別執行此操作。

密鑰庫和信任庫將是必需的,但是如何在java代碼中使用並信任它們。

任何幫助將不勝感激。

+2

我認爲你需要爲你的問題添加一些細節,所以我們確切地知道你在找什麼。例如,您是否需要知道如何將證書存入提供的cacerts信任庫,或者您是否想知道如何使用除cacerts之外的信任庫?另外,您是否已經擁有服務器將收到的客戶端證書?你使用Java提供的HTTP類還是Apache? – csturtz 2012-03-08 16:35:45

+0

嗨csturtz ..我有客戶證書,我也輸入他們。我們正在起訴axis 2 API以使用web服務。我關心的是如何將這些證書用於java代碼並進行SSL握手。對於那部分我需要一些java代碼。 – 2012-03-09 04:53:05

回答

0

服務器認證部分應該很容易。只需在提供的cacerts信任庫中粘貼所需的證書即可。請參閱this documentation瞭解如何使用keytool與cacerts信任庫一起使用。

就客戶端身份驗證部分而言,我會在Stack Overflow上查看一些其他問題以獲取答案或至少一些代碼來幫助您開始。這裏有一些問題你應該看看:

Creating SSL Client with Axis2/JAVaChoosing SSL client certificate in Java應該是一對夫婦讓你看看。

最後,我要提交另一個編輯,在您的問題中添加'axis2'標記。這應該會讓更多的人看到具有適當經驗的人。

+0

Cacerts部分已成功完成,沒有問題。我想要在java代碼中加載這些證書,然後在代碼中啓用2路SSL,這部分我不確定如何開始。我有通過論壇gobe,我有一些基本的想法,我們需要創建SSL上下文/工廠,但不是很清楚。 – 2012-03-09 16:52:30

+0

好的。在您遇到更具體的問題之前,您需要幫助解決問題,但我不確定答案的具體含義。有很多資源(現有的SO問題,教程,博客等)應該爲您提供SSL上下文/工廠工作的起點。我認爲你在這個問題上的信息不會超過你已有的。這回到你需要更具體的問題。我的建議是自己開始嘗試,並在你遇到困難時發佈更具體的問題。 – csturtz 2012-03-09 17:04:17

+1

我已經通過幾個論壇,瞭解一點。現在加載密鑰庫/信任庫已經很好了。創建SSLContext,securefacotory我明白了。但最終他們檢查了HttpsURLConnection的instanceof,使用它們打開一個連接。但是之後需要寫入什麼代碼。如何在webservice中使用此代碼。請在這方面需要一些幫助。即使我沒有我可以測試的環境,出於安全原因,我無法通過HTTPS訪問web服務。 – 2012-03-12 17:06:09