使用此页面来配置 JAX-WS 的回调处理程序设置,这些设置可确定如何从消息头获取安全性令牌。
编辑常规单元级别或服务器级别绑定时,可以配置回调处理程序设置。另外,还可以配置策略集所需的令牌和消息部件的特定于应用程序的绑定。
避免故障: 在此页面上指定密钥库和密钥属性的值之前,必须了解为生成器提供的密钥库/别名信息,而为使用者提供的密钥库/别名信息用于其他用途。主要区别适用于 X.509 回调处理程序的别名:gotcha![[2013 年 10 月更新]](../images/delta.gif)
避免故障: 由于用来为消息签名的别名需要密码,而用来对消息加密的别名要求没有密码,因此,您无法对签名生成器和加密生成器使用同一别名。gotcha![[2013 年 10 月更新]](../images/deltaend.gif)
当用于关联的签名使用者时,为使用者提供的别名严格用于检索用于解析一个公用密钥,该密钥用于解析在 SOAP 安全性头中作为 BinarySecurityToken 传入的 X.509 证书。不需要密码。
在回调处理程序上输入的与签名使用者关联的别名必须在不提供密码的情况下可访问。这意味着在密钥库中不能具有与该别名相关联的专用密钥信息。
当 X.509 证书未作为 BinarySecurityToken 在 SOAP 安全性头中传入时,SecurityTokenReference 将出现在将用于解析 X.509 证书的 SOAP 安全性头中签名元素中的 KeyInfo 元素中。可使用的方法包括密钥标识、X.509 发放者名称和发放者序列和指纹。当为与签名使用者相关联的 X.509 令牌使用者配置了密钥库/别名时,该使用者将接受使用以上三种方法中的任何一种来解析消息外的 X.509 证书。X.509 令牌使用者不会将在消息外部出现的证书动态解析为密钥库中的条。将使用的证书在配置时必须已知,并且已在 X.509 令牌使用者回调处理程序中进行硬编码。
要在消息外部解析 X.509 证书时,您可以在使用常规绑定时解析多个证书,但是在使用特定于应用程序的绑定时只能使用一个证书。使用特定于应用程序的绑定时,在消息外部只能解析一个证书,这是因为在特定于应用程序的绑定中,只有一个 X.509 令牌使用者可供使用。由于只有一个 X.509 令牌使用者可供使用,只有一个别名可供使用,因此,只能解析一个证书。例如,如果为 X.509 令牌使用者配置了证书 A,那么当客户机 A 发送证书 A 的密钥标识时,可检索该证书。但是,如果客户机 B 发送证书 B 的密钥标识,那么将无法检索该证书且将拒绝消息。
使用常规绑定时,可以创建多个 X.509 令牌使用者,每个令牌使用者都配置了不同的证书(密钥库/别名)。对于与您希望解析的证书相关联的所有 X.509 令牌使用者,将分配给绑定中您已签名的部件配置的签名密钥信息。
当 X.509 证书作为 BinarySecurityToken 在 SOAP 安全性头中发送时,如果在与签名使用者相关联的 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 传播令牌,那么“基本认证”部分中的各个字段可用。
对于 Kerberos 定制令牌类型,必须完成 Kerberos 登录的“基本认证”部分。
指定要进行认证的用户名。
指定要进行认证的密码。在此输入字段中输入要进行认证的密码。
指定要确认的密码。
在运行时确定不需要密钥库字段时,这些字段不可用。
在“密钥库名称”列表中,可以单击定制以定义定制密钥库、单击其中一个外部定义的密钥库名称或者单击无(如果不需要任何密钥库)。
指定要使用的密钥库名称。
指定要从所配置密钥库检索的密钥的属性。在运行时确定不需要“密钥”部分中的某些字段时,这些字段不可用。
当对密钥库选择集中管理的密钥库时,“密钥”部分中的字段可用。
指定要使用的密钥的名称。系统将使用所选的集中管理密钥库中提供的密钥来填充该列表。选择要使用的密钥名称或“(无)”(如果不使用密钥)。
显示所选密钥名称的别名
指定要使用的密钥的密码。此字段将仅在运行时确定需要时才可用。
不能对非对称加密生成器或非对称签名使用者的公用密钥设置密码。请参阅文章开头的“避免问题”部分。
指定要使用的密钥的确认密码。此字段将仅在运行时确定需要时才可用。
不要对非对称出站加密或入站签名的公用密钥提供密钥确认密码。
指定一个链接以创建定制密钥库。单击此链接以打开面板,可以在该面板中配置定制密钥库。
指定用于访问密钥库文件的密码。
指定密钥库文件的位置。
因为此变量展开为机器上的产品路径,所以应在路径名中使用 ${USER_INSTALL_ROOT}。要更改此变量使用的路径,请单击环境 > WebSphere 变量并单击 USER_INSTALL_ROOT。
指定密钥库文件格式的类型
JCERACFKS“定制属性”部分中的各个字段适用于所有类型的令牌配置。
可以使用“名称/值”对的形式添加回调处理程序所需的定制属性。
要在使用 JAX-WS 编程模型时实现签署者证书加密,请在加密令牌生成器的回调处理程序中添加值为 true 的定制属性 com.ibm.wsspi.wssecurity.token.cert.useRequestorCert。此实现过程使用 SOAP 请求的签署者的证书对 SOAP 响应进行加密。此定制属性由响应生成器使用。
对于基于 Kerberos 令牌概要文件 V1.1 的 OASIS Web Service 安全性规范的 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 |
指定要使用的定制属性的名称。
此列最初不显示定制属性。单击定制属性的下列其中一个操作:
| 按钮 | 执行的操作 |
|---|---|
| 新建 | 创建新的定制属性条目。要添加定制属性,请输入名称和值。 |
| 删除 | 移除所选定制属性。 |
指定要使用的定制属性的值。使用值输入字段可以输入或删除定制属性的值。