請利用這個頁面來配置 JAX-WS 的回呼處理常式設定,它可決定如何從訊息標頭取得安全記號。
編輯一般 Cell 層次或伺服器層次的連結時,您可以配置回呼處理常式設定。 此外,您也可以配置原則集所需之記號和訊息組件的應用程式特定連結。
避免困難: 在這個頁面中指定金鑰儲存庫和金鑰內容的值之前,您必須瞭解提供給產生端的金鑰儲存庫/別名資訊與提供給消費端的金鑰儲存庫/別名資訊,兩者用途不同。
主要差異適用於 X.509 回呼處理常式的別名:gotcha![[2013 年 10 月更新]](../images/delta.gif)
避免困難: 由於用來簽署訊息的別名需要密碼,用來加密訊息的別名要求沒有密碼,您無法將相同的別名同時用於簽章產生端和加密產生端。gotcha![[2013 年 10 月更新]](../images/deltaend.gif)
當與簽章消費端搭配使用時,會嚴格使用提供給消費端的別名來擷取公開金鑰,此公開金鑰用於解析未傳入 SOAP 安全標頭中作為 BinarySecurityToken 的 X.509 憑證。不需要密碼。
在與簽章消費端相關聯的回呼處理常式中所輸入的別名,必須可在沒有密碼的情況下存取。 這表示在金鑰儲存庫中,別名不得具有與其相關聯的私密金鑰資訊。
如果 X.509 憑證未傳入 SOAP 安全標頭中作為 BinarySecurityToken,則 SecurityTokenReference 會出現在 SOAP 安全標頭(用來解析 X.509 憑證)的 Signature 元素的 KeyInfo 元素中。可用的方法為金鑰 ID、X.509 發證者名稱和發證者序列及指模。當針對 X.509 記號消費端配置的金鑰儲存庫/別名與簽章消費端相關聯時,消費端會接受這三種方法的任一種,來解析訊息外的 X.509 憑證。對於出現在訊息外部的憑證,X.509 記號消費端不會將它解析成金鑰儲存庫中的項目。在配置時,您必須知道將使用的憑證,並將憑證寫在 X.509 記號消費端回呼處理常式中。
如果要在訊息外部解析 X.509 憑證,您可以在使用一般連結時,解析多份憑證,但在使用應用程式特定的連結時,只能解析一份憑證。使用應用程式特定的連結時,在訊息外部只能解析一份憑證,這是因為在應用程式特定的連結中,只有一個 X.509 記號消費端可供使用。由於只有一個 X.509 記號消費端可供使用,只有一個別名可供使用,因此,只能解析一份憑證。比方說,如果憑證 A 配置了 X.509 記號消費端,且用戶端 A 傳送憑證 A 的金鑰 ID,則可擷取憑證。 不過,如果用戶端 B 傳送憑證 B 的金鑰 ID,則無法擷取憑證且訊息會遭到拒絕。
使用一般連結時,您可以建立多個 X.509 記號消費端,且每一個記號消費端都配置了不同的憑證(金鑰儲存庫/別名)。與您要解析的憑證相關聯的所有 X.509 記號消費端,將指派給連結中您已簽署之組件配置的簽章金鑰資訊。
當 X.509 憑證傳入 SOAP 安全標頭作為 BinarySecurityToken 時,如果 X.509 記號消費端上已配置的金鑰儲存庫/別名與簽章消費端相關聯,則會將消費端上配置的憑證與傳入訊息中的憑證進行比較。 如果兩者不符,訊息將會遭到拒絕。這個行為不同於 JAX-RPC。與 X.509 記號消費端上配置的別名相關聯的憑證,並非用來評估入埠憑證信任度。 僅信任儲存庫和憑證儲存庫適用於該用途。
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
![[2013 年 10 月更新]](../images/delta.gif)
避免困難: 由於用來解密訊息的別名需要密碼,用來驗證簽章的別名要求沒有密碼,您無法將相同的別名同時用於簽章消費端和加密消費端。gotcha![[2013 年 10 月更新]](../images/deltaend.gif)
這個管理主控台頁面只適用於 Java API for XML Web Services (JAX-WS) 應用程式。
「回呼處理常式」顯示的欄位會因配置的記號而有所不同。根據您是為了保護而配置產生端或消費端記號,或是為了鑑別而配置入埠或出埠記號,這個畫面中的區段和欄位會依照每個欄位的說明所述,來顯示此主題中所說明的部分或全部欄位。
「類別名稱」區段中的欄位適用於所有類型的記號配置。
請選取回呼處理常式所要使用的類別名稱。如果是一般作業,請選取使用內建預設值選項。 請只在使用自訂記號類型時,才使用使用自訂值選項。
如果是 Kerberos 自訂記號類型,請對記號產生端配置使用類別名稱 com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler。 而對記號消費端配置使用 com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler。
指定類別名稱使用預設值。當選取這個圓鈕時,就會對類別名稱使用預設值(顯示於欄位中)。 這個名稱是以記號類型和回呼處理常式用於記號產生端或記號消費端為基礎。這個選項與使用自訂值選項互斥。
指定類別名稱使用自訂值。 如果要使用自訂類別名稱,請選取這個圓鈕並在欄位中輸入名稱。
這個輸入欄位沒有預設值。請使用下表中的資訊來決定這個值:
| 記號類型 | 消費端或產生端 | 回呼處理常式類別名稱 |
|---|---|---|
| UsernameToken | 消費端 | com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler |
| UsernameToken | 產生端 | com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler |
| X509Token | 消費端 | com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler |
| X509Token | 產生端 | com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler |
| LTPAToken/LTPAPropagationToken | 消費端 | com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler |
| LTPAToken/LTPAPropagationToken | 產生端 | com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler |
| SecureConversationToken | 消費端 | com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler |
| SecureConversationToken | 產生端 | com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler |
這個按鈕與使用內建預設值選項互斥。
如果您在配置保護記號,則可以使用「憑證」區段中的欄位。如果是產生端記號,您可以按一下它來選取清單中的憑證儲存庫,或按一下新建按鈕,來新增憑證儲存庫。
如果您在配置保護記號,則可以使用「憑證」區段中的欄位。如果是消費端記號,您可以使用「全部信任憑證」選項或「憑證儲存庫」選項,來配置憑證儲存庫。
這個選項僅適用於記號消費端。這個選項指出系統將信任所有的憑證,並且不會定義特定的憑證儲存庫。這個選項與憑證儲存庫選項互斥。
這個選項僅適用於記號消費端。請利用這個選項來指定憑證儲存庫集合,以包含中間憑證,包括「憑證撤銷清冊 (CRL)」在內。請選取這個選項,來信任輸入欄位中指定的一或多個憑證儲存庫。 這個選項與全部信任憑證選項互斥。選取憑證儲存庫選項時,會啟用新建按鈕,以便讓您配置新的憑證儲存庫與授信錨點儲存庫。
您可以將憑證儲存庫欄位設定成預設值,亦即無。但是,必須將授信錨點儲存庫設定為一個特定值。沒有預設值。 如果沒有選取「全部信任憑證」選項,必須指定授信錨點。
如果您配置的鑑別記號不是 LTPA 傳送記號,則可以使用「基本鑑別 (BA)」區段中的欄位。
如果是 Kerberos 自訂記號類型,您必須完成 Kerberos 登入的「基本鑑別 (BA)」區段。
指定所要鑑別的使用者名稱。
指定所要鑑別的密碼。請在這個輸入欄位中輸入要鑑別的密碼。
指定所要確認的密碼。
當執行時期判定不需要金鑰儲存庫欄位時,就無法使用這些欄位。
在金鑰儲存庫名稱清單中,您可以按一下自訂來定義自訂金鑰儲存庫、按一下其中一個外部定義的金鑰儲存庫名稱,或按一下無(如果不需要金鑰儲存庫)。
指定所要使用的金鑰儲存庫名稱。
指定要從配置的金鑰儲存庫中擷取的金鑰屬性。當執行時期判定不需要「金鑰」區段中的部分欄位時,就無法使用這些欄位。
如果已針對「金鑰儲存庫」選取集中管理的金鑰儲存庫,則可使用「金鑰」區段中的欄位。
指定要使用的金鑰名稱。清單中會移入所選取集中管理之金鑰儲存庫的可用金鑰。 請選取所要使用的金鑰名稱,如果未使用金鑰,請選取「(無)」
顯示所選取金鑰名稱的別名
指定所要使用金鑰的密碼。僅當執行時期判定需要此欄位時,才能使用這個欄位。
您無法對非對稱加密產生端或非對稱簽章消費端的公開金鑰設定密碼。請參閱本文開頭的「避免問題」。
指定所要使用金鑰的密碼確認。僅當執行時期判定需要此欄位時,才能使用這個欄位。
請不要對非對稱出埠加密或入埠簽章的公開金鑰提供金鑰確認密碼。
指定用於建立自訂金鑰儲存庫的鏈結。請按一下這個鏈結來開啟供您配置自訂金鑰儲存庫的畫面。
指定用來存取金鑰儲存庫檔的密碼。
指定金鑰儲存庫檔案的位置。
請在路徑名稱中使用 ${USER_INSTALL_ROOT},因為這個變數會展開成機器中的產品路徑。 如果要變更這個變數所用的路徑,請按一下環境 > WebSphere 變數,再按一下 USER_INSTALL_ROOT。
請指定金鑰儲存庫檔案格式的類型
JCERACFKS「自訂內容」區段中的欄位適用於所有類型的記號配置。
您可以利用名稱/值配對,來新增回呼處理常式所需要的自訂內容。
如果要在使用 JAX-WS 程式設計模型時實作簽章者憑證加密,請對加密記號產生端的回呼處理常式新增 com.ibm.wsspi.wssecurity.token.cert.useRequestorCert 自訂內容,值為 true。 這個實作使用 SOAP 要求的簽章者憑證來加密 SOAP 回應。這個自訂內容供回應產生端使用。
如果是以 OASIS Web Services Security Specification for Kerberos Token Profile 1.1 版為基礎的 Kerberos 自訂記號,請指定下列記號產生內容:com.ibm.wsspi.wssecurity.krbtoken.clientRealm。 這是指定用戶端的相關聯 Kerberos 領域名稱,並可讓 Kerberos 用戶端領域起始 Kerberos 登入。如果未指定,則會使用預設 Kerberos 領域名稱。這個內容是單一 Kerberos 領域環境可選用的。
Kerberos 自訂內容 com.ibm.wsspi.wssecurity.krbtoken.loginPrompt 的值為 true 時,會啟用 Kerberos 登入。預設值是 false。這個內容是選用的。
| 內容名稱(產生端) | 內容值 |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.addNonce | True |
| com.ibm.wsspi.wssecurity.token.username.addTimestamp | True |
| 內容名稱(消費端) | 內容值 |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.verifyNonce | True |
| com.ibm.wsspi.wssecurity.token.username.verifyTimestamp | True |
指定要使用的自訂內容名稱。
自訂內容一開始不會在這個直欄中顯示。請按下列其中一個自訂內容的動作:
| 按鈕 | 得出的動作 |
|---|---|
| 新建 | 建立新的自訂內容項目。如果要新增自訂內容,請輸入名稱和值。 |
| 刪除 | 移除所選的自訂內容。 |
指定要使用的自訂內容值。您可以使用值輸入欄位來輸入或刪除自訂內容的值。