Sun Java System Web Proxy Server 4.0.8 管理指南

使用 certmap.conf 檔案

憑證對映用於確定伺服器在 LDAP 目錄中查找使用者項目的方式。您可以使用 certmap.conf 檔案來配置將憑證 (依名稱指定) 對映至 LDAP 項目的方式。您可以編輯此檔案並增加項目,以便與 LDAP 目錄的組織相符,並列出您希望使用者擁有的憑證。您可根據 subjectDN 中所使用的使用者 ID、電子郵件地址或其他值,對使用者進行認證。特別是,對映檔案可定義以下資訊:

憑證對映檔案位於以下位置:

server-root/userdb/certmap.conf

該檔案包含了一個或多個已命名對映,每個對映都套用於不同的 CA。對映具有下列語法:

certmap name issuerDNname :property [ value]

第一行用於指定項目的名稱以及形成 CA 憑證中區別名稱的屬性。name 為任意名稱,可依照您的喜好加以定義。不過,issuerDN 必須與核發用戶端憑證之 CA 的核發者 DN 完全相符。例如,以下兩個核發者 DN 行僅在分隔屬性的空格上有所差異,但伺服器將其視為兩個不同的項目:

certmap sun1 ou=Sun Certificate Authority,o=Sun,c=UScertmap sun2 ou=Sun Certificate Authority, o=Sun, c=US


備註 –

如果您使用的是 Sun Java System Directory Server,在確定核發者 DN 符合情況遇到問題時,請檢查 Directory Server 錯誤記錄以取得有用的資訊。


已命名對映中的第二行和隨後的行可以使屬性與值相匹配。certmap.conf 檔案具有六項預設特性。您也可以使用憑證 API 來自訂特性。預設特性為:

表 5–2 x509v3 憑證的屬性

屬性 

說明 

c

國家/地區 

o

組織 

cn

共用名稱 

l

位置 

st

狀態 

ou

組織單元 

uid

UNIX/Linux 使用者 ID 

電子郵件

電子郵件地址 

如需有關這些特性的更多資訊,請參閱對映範例中所述範例。

建立自訂特性

用戶端憑證 API 可用來建立您自己的特性。建立自訂對映後,就可以參照以下格式的對映:

name:library path_to_shared_libraryname :InitFN name_of_ init_function

例如︰

certmap default1 o=Sun Microsystems, c=US default1:library /usr/sun/userdb/plugin.so default1:InitFn plugin_init_fn default1:DNComps ou o c default1:FilterComps l default1:verifycert on

對映範例

certmap.conf 檔案中應至少包含一個項目。下列範例說明了 certmap.conf 的不同使用方式。

範例 #1 只有一個預設對映的 certmap.conf 檔案

certmap default defaultdefault:DNComps ou, o, cdefault:FilterComps e, uiddefault:verifycert on

以此為例,伺服器在包含 ou=orgunit, o=org, c=country 項目的 LDAP 分支點開始搜尋,其中斜體文字將由用戶端憑證中主體 DN 的值所替代。

然後,伺服器會使用憑證上電子郵件地址和使用者 ID 的值,在 LDAP 目錄中搜尋相符的項目。找到相符的項目時,伺服器會比對用戶端傳送的憑證與儲存在目錄中的憑證,以驗證該憑證。

範例 #2 具有兩個對映的 certmap.conf 檔案

以下範例檔案中包括兩個對映:一個用於預設,另一個用於美國郵政局。

certmap default defaultdefault:DNCompsdefault:FilterComps e, uid

certmap usps ou=United States Postal Service, o=usps, c=USusps:DNComps ou,o,cusps:FilterComps eusps:verifycert on

伺服器收到美國郵政局以外的人傳來憑證時會使用預設對映,該對映會從 LDAP 樹狀結構的頂層開始,搜尋與用戶端電子郵件地址和使用者 ID 相符的項目。如果憑證來自美國郵政服務,則伺服器會從包含組織單位的 LDAP 分支開始搜尋相符的電子郵件地址。此外,伺服器還會驗證該憑證。其他憑證則不加以驗證。


注意 – 注意 –

憑證中的核發者 DN (即 CA 的資訊) 必須與對映第一行中所列的核發者 DN 相同。在前一個範例中,來自核發者 DN (即 o=United States Postal Service,c=US) 的憑證就不相符,因為 DN 中 oc 屬性之間沒有空格。


範例 #3 搜尋 LDAP 資料庫

下列範例使用 CmapLdapAttr 特性在 LDAP 資料庫中搜尋名為 certSubjectDN 的屬性,該屬性的值與用戶端憑證中的整個主體 DN 完全相符。本範例假設 LDAP 目錄中包含具有 certSubjectDN 屬性的項目。

certmap myco ou=My Company Inc, o=myco, c=USmyco:CmapLdapAttr certSubjectDNmyco:DNComps o, c myco:FilterComps mail, uid myco:verifycert on

如果用戶端憑證的主題為:

uid=Walt Whitman, o=LeavesOfGrass Inc, c=US

伺服器將首先搜尋包含以下資訊的項目:

certSubjectDN=uid=Walt Whitman, o=LeavesOfGrass Inc, c=US

如果找到一個或多個匹配的項目,伺服器將繼續驗證各項目。如果找不到相符的項目,伺服器會使用 DNComps FilterComps 來搜尋相符的項目。在本範例中,伺服器會在 o=LeavesOfGrass Inc, c=US 之下的所有項目中搜尋 uid=Walt Whitman