JAX-WS 的回呼處理常式設定

請利用這個頁面來配置 JAX-WS 的回呼處理常式設定,它可決定如何從訊息標頭取得安全記號。

編輯一般 Cell 層次或伺服器層次的連結時,您可以配置回呼處理常式設定。 此外,您也可以配置原則集所需之記號和訊息組件的應用程式特定連結。

避免困難 避免困難: 在這個頁面中指定金鑰儲存庫和金鑰內容的值之前,您必須瞭解提供給產生端的金鑰儲存庫/別名資訊與提供給消費端的金鑰儲存庫/別名資訊,兩者用途不同。 主要差異適用於 X.509 回呼處理常式的別名:gotcha
產生端
當與加密產生端搭配使用時,會使用提供給產生端的別名來擷取用於加密訊息的公開金鑰。不需要密碼。 在與加密產生端相關聯的回呼處理常式中所輸入的別名,必須可在沒有密碼的情況下存取。 這表示在金鑰儲存庫中,別名不得具有與其相關聯的私密金鑰資訊。當與簽章產生端搭配使用時,會使用提供給產生端的別名擷取私密金鑰以簽署訊息。需要密碼。
[2013 年 10 月更新]
避免困難 避免困難: 由於用來簽署訊息的別名需要密碼,用來加密訊息的別名要求沒有密碼,您無法將相同的別名同時用於簽章產生端和加密產生端。gotcha
[2013 年 10 月更新]
消費端
當與加密消費端搭配使用時,會使用提供給消費端的別名來擷取用於解密訊息的私密金鑰。需要密碼。

當與簽章消費端搭配使用時,會嚴格使用提供給消費端的別名來擷取公開金鑰,此公開金鑰用於解析未傳入 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 記號消費端上配置的別名相關聯的憑證,並非用來評估入埠憑證信任度。 僅信任儲存庫和憑證儲存庫適用於該用途。

如果要讓配置在 X.509 記號消費端並與簽章消費端相關聯的憑證可用於解析 KeyInfo,但不要拒絕傳入訊息中不相符的 X.509 憑證,您可以將下列自訂內容新增至 X.509 記號消費端回呼處理常式:
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
[2013 年 10 月更新]
避免困難 避免困難: 由於用來解密訊息的別名需要密碼,用來驗證簽章的別名要求沒有密碼,您無法將相同的別名同時用於簽章消費端和加密消費端。gotcha
[2013 年 10 月更新]
編輯一般 Cell 層次的連結時,如果要檢視這個管理主控台頁面,請完成下列動作:
  1. 按一下服務 > 原則集 > 預設原則集連結。連結畫面會指出將作為預設連結的連結,例如「提供者範例連結」。
  2. 如果要編輯這個預設連結,請按一下服務 > 原則集 > 一般提供者原則集連結。
  3. 按一下您在步驟 1 中決定的預設連結名稱。例如提供者範例。
  4. 按一下「原則」表格中的 WS-Security 原則。
  5. 按一下「主要訊息安全原則連結」區段中的鑑別和保護鏈結。
  6. 按一下「保護記號」區段或「鑑別記號」區段中的 name_of_token 鏈結。
  7. 按一下回呼處理常式鏈結。
在配置原則集所需之記號和訊息組件的應用程式特定連結時,如果要檢視這個管理主控台頁面,請完成下列動作:
  1. 按一下應用程式 > 應用程式類型 > WebSphere 企業應用程式。
  2. 選取包含 Web 服務的應用程式。該應用程式必須包含服務提供者或服務用戶端。
  3. 按一下「Web 服務內容」區段中的服務提供者原則集和連結鏈結或服務用戶端原則集和連結鏈結。
  4. 選取一個連結。您先前必須已附加了原則集且指派了應用程式特定連結。
  5. 按一下「原則」表格中的 WS-Security 原則。
  6. 按一下「主要訊息安全原則連結」區段中的鑑別和保護鏈結。
  7. 按一下「保護記號」區段或「鑑別記號」區段中的 name_of_token 鏈結。
  8. 按一下回呼處理常式鏈結。

這個管理主控台頁面只適用於 Java API for XML Web Services (JAX-WS) 應用程式。

「回呼處理常式」顯示的欄位會因配置的記號而有所不同。根據您是為了保護而配置產生端或消費端記號,或是為了鑑別而配置入埠或出埠記號,這個畫面中的區段和欄位會依照每個欄位的說明所述,來顯示此主題中所說明的部分或全部欄位。

類別名稱

「類別名稱」區段中的欄位適用於所有類型的記號配置。

請選取回呼處理常式所要使用的類別名稱。如果是一般作業,請選取使用內建預設值選項。 請只在使用自訂記號類型時,才使用使用自訂值選項。

如果是 Kerberos 自訂記號類型,請對記號產生端配置使用類別名稱 com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler。 而對記號消費端配置使用 com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler。

使用內建預設值

指定類別名稱使用預設值。當選取這個圓鈕時,就會對類別名稱使用預設值(顯示於欄位中)。 這個名稱是以記號類型和回呼處理常式用於記號產生端或記號消費端為基礎。這個選項與使用自訂值選項互斥。

使用自訂值

指定類別名稱使用自訂值。 如果要使用自訂類別名稱,請選取這個圓鈕並在欄位中輸入名稱。

這個輸入欄位沒有預設值。請使用下表中的資訊來決定這個值:

表 1. 回呼處理常式的自訂類別名稱,以及相關聯的記號類型. 回呼處理常式決定如何從訊息標頭取得安全記號。
記號類型 消費端或產生端 回呼處理常式類別名稱
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)」在內。請選取這個選項,來信任輸入欄位中指定的一或多個憑證儲存庫。 這個選項與全部信任憑證選項互斥。選取憑證儲存庫選項時,會啟用新建按鈕,以便讓您配置新的憑證儲存庫與授信錨點儲存庫。

您可以將憑證儲存庫欄位設定成預設值,亦即無。但是,必須將授信錨點儲存庫設定為一個特定值。沒有預設值。 如果沒有選取「全部信任憑證」選項,必須指定授信錨點。

基本鑑別 (BA)

如果您配置的鑑別記號不是 LTPA 傳送記號,則可以使用「基本鑑別 (BA)」區段中的欄位。

如果是 Kerberos 自訂記號類型,您必須完成 Kerberos 登入的「基本鑑別 (BA)」區段。

使用者名稱

指定所要鑑別的使用者名稱。

密碼

指定所要鑑別的密碼。請在這個輸入欄位中輸入要鑑別的密碼。

確認密碼

指定所要確認的密碼。

金鑰儲存庫

當執行時期判定不需要金鑰儲存庫欄位時,就無法使用這些欄位。

在金鑰儲存庫名稱清單中,您可以按一下自訂來定義自訂金鑰儲存庫、按一下其中一個外部定義的金鑰儲存庫名稱,或按一下無(如果不需要金鑰儲存庫)。

金鑰儲存庫 - 名稱

指定所要使用的金鑰儲存庫名稱。

請按一下這個功能表中的金鑰儲存庫名稱,或選取下列一值:
無
指定不使用金鑰儲存庫。
自訂
指定使用某個使用者定義的金鑰儲存庫。請按一下自訂金鑰儲存庫配置鏈結來配置自訂金鑰儲存庫和金鑰設定。

金鑰

指定要從配置的金鑰儲存庫中擷取的金鑰屬性。當執行時期判定不需要「金鑰」區段中的部分欄位時,就無法使用這些欄位。

如果已針對「金鑰儲存庫」選取集中管理的金鑰儲存庫,則可使用「金鑰」區段中的欄位。

名稱

指定要使用的金鑰名稱。清單中會移入所選取集中管理之金鑰儲存庫的可用金鑰。 請選取所要使用的金鑰名稱,如果未使用金鑰,請選取「(無)」

別名

顯示所選取金鑰名稱的別名

密碼

指定所要使用金鑰的密碼。僅當執行時期判定需要此欄位時,才能使用這個欄位。

您無法對非對稱加密產生端或非對稱簽章消費端的公開金鑰設定密碼。請參閱本文開頭的「避免問題」。

確認密碼

指定所要使用金鑰的密碼確認。僅當執行時期判定需要此欄位時,才能使用這個欄位。

請不要對非對稱出埠加密或入埠簽章的公開金鑰提供金鑰確認密碼。

金鑰儲存庫 - 自訂金鑰儲存庫配置

指定用於建立自訂金鑰儲存庫的鏈結。請按一下這個鏈結來開啟供您配置自訂金鑰儲存庫的畫面。

金鑰儲存庫密碼

指定用來存取金鑰儲存庫檔的密碼。

金鑰儲存庫路徑

指定金鑰儲存庫檔案的位置。

請在路徑名稱中使用 ${USER_INSTALL_ROOT},因為這個變數會展開成機器中的產品路徑。 如果要變更這個變數所用的路徑,請按一下環境 > WebSphere 變數,再按一下 USER_INSTALL_ROOT。

金鑰儲存庫類型

請指定金鑰儲存庫檔案格式的類型

請選取下列其中一個欄位值:
JKS
如果金鑰儲存庫是採用 Java 金鑰儲存庫 (JKS) 格式,請使用這個選項。
JCEKS
如果 Java Cryptography Extension 是在軟體開發套件 (SDK) 中配置,請使用這個選項。 預設 IBM® JCE 是在應用程式伺服器中配置。這個選項可以使用三重 DES 加密,對儲存的私密金鑰提供更完善的保護。
[z/OS] JCERACFKS
如果憑證儲存在 SAF 金鑰環(只適用於 z/OS®)中,請使用 JCERACFKS。
PKCS12KS (PKCS12)
如果金鑰儲存庫檔採用 PKCS#12 檔案格式,請使用這個選項。

自訂內容

「自訂內容」區段中的欄位適用於所有類型的記號配置。

您可以利用名稱/值配對,來新增回呼處理常式所需要的自訂內容。

如果要在使用 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。這個內容是選用的。

在為 JAX-WS 程式設計模型配置使用者名稱記號時,為防範重播攻擊,強烈建議您在回呼處理常式配置中新增下列的自訂內容。這些自訂內容可針對訊息鑑別,啟用及驗證 Nonce 與時間戳記。
內容名稱(產生端) 內容值
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

名稱

指定要使用的自訂內容名稱。

自訂內容一開始不會在這個直欄中顯示。請按下列其中一個自訂內容的動作:

按鈕 得出的動作
新建 建立新的自訂內容項目。如果要新增自訂內容,請輸入名稱和值。
刪除 移除所選的自訂內容。

值

指定要使用的自訂內容值。您可以使用值輸入欄位來輸入或刪除自訂內容的值。



檔名: uwbs_wsspsbch.html