WebSphere® Application Server V6 支持一种基于密钥的签名,它称为 HMAC-SHA1。如果使用 HMAC-SHA1,则简单对象访问协议(SOAP)消息不包含二进制安全性令牌。在此情况下,假设消息中的密钥信息包含密钥名,此密钥名用于指定密钥库中的密钥。
由于密钥定位器支持基于公用密钥的签名,所以用于验证的密钥嵌入在 X.509 证书中,作为入局消息中的 <BinarySecurityToken> 元素。例如,密钥定位器可从上下文获取调用者的标识,并可检索调用者的公用密钥用于响应加密。
本节描述密钥定位器的使用方案。
签署
在 Web Service 安全性配置中指定签署密钥的名称。将此值传递到密钥定位器并返回实际密钥。也可以返回相应的 X.509 证书。
Verification
加密
在 Web Service 安全性配置中指定加密密钥的名称。将此值传递到密钥定位器并返回实际密钥。在服务器端上,您可以使用 SignerCertKeyLocator 从请求消息中的 X.509 证书检索用于在响应消息中加密的密钥。
解密
Web Service 安全性规范建议使用密钥标识而不是密钥名。然而,虽然在因特网工程任务组织(IETF)请求评论(RFC)3280 中定义了公用密钥标识计算算法,但是没有达成一致意见的密钥算法。 因此,Web Service 安全性的当前实现仅在执行基于公用密钥的加密时使用标识。否则,使用序数密钥名。
当您使用基于公用密钥的加密时,密钥标识的值嵌入在入局加密的消息中。然后,Web Service 安全性实现搜索密钥定位器管理的所有密钥,并使用标识值与消息中的值匹配的密钥解密消息。
当您使用基于密钥的加密时,密钥名的值嵌入在入局加密的消息中。Web Service 安全性实现用与消息中的名称匹配的名称为密钥请求密钥定位器,并使用密钥解密消息。