2010-07-27 16 views
0

我有一個託管數據服務的Linux/Apache/Rails棧。數據服務基本上是多個數據源的前端,類似於聯合搜索。Apache/Rails:轉發PKI

對服務的查詢通過PKI進行身份驗證。處理每個請求時,必須將PKI轉發給適合於給定請求的每個數據源 - 每個數據源使用PKI來控制數據訪問。

我知道如何從Rails訪問請求者的DN,但我沒有第一條線索如何訪問PKI或將它傳遞給控制器​​在處理請求時發起的Web請求中。有什麼建議麼?

回答

0

你的描述使它有點難以遵循組織,但我試圖給這個鏡頭。

PKI的性質使轉發(代理)連接變得不可能,因爲兩個端點建立了一個只有那些方纔知道的祕密會話密鑰。看起來你有三方,一個是客戶,一個是中介,一個是端點。所以客戶可以對中間人進行認證,中間人現在可以確定地知道客戶是誰。我認爲你的問題是如何讓端點確切知道客戶是誰。我選擇的方法是讓每個中間層都有自己的證書,並對端點本身進行身份驗證(所以現在端點可以確切地知道中間人是誰),那麼只需讓中間人通過DN作爲端點將要添加的一些額外字段來自中間人的信任。