使用 WSS API 配置解密方法以保护消息机密性
可以配置绑定文件的响应使用者(客户端)部分的解密方法信息。解密信息用于指定使用者(接收方)对入局 SOAP 消息进行解密的方式。要配置解密,请指定要进行解密的消息部件并指定要用于解密的算法方法和安全性令牌。
开始之前
机密性是指加密,而完整性是指数字签名。机密性减少跨因特网流动的消息被获悉的风险。使用机密性规范,在正确目标接收到消息时,消息已在发送和解密之前被加密。在配置解密之前,您应熟悉 XML 加密。
关于此任务
对于解密,您必须指定以下各项:
- 要进行解密的消息部件。
- 要指定的解密算法。
要在客户端配置解密功能和解密部件,请使用 WSSDecryption 和 WSSDecryptPart API 或者通过管理控制台来配置策略集。
WebSphere® Application Server 提供绑定的缺省值。但是,管理员必须修改生产环境的缺省值。
WebSphere Application Server 使用解密信息,供缺省使用者用于对 SOAP 消息部件进行解密。WSSDecryption API 将下列必需部件配置为解密部件。
解密部件 | 描述 |
---|---|
关键字 | 用于将解密部件添加至 SOAP 消息的关键字。 |
XPath 表达式 | 用于将解密部件添加至 SOAP 消息的 XPath 表达式。 |
WSSDencryptPart 对象 | 此对象将解密部件添加至 SOAP 消息。 |
WSSVerification 对象 | 此对象将签名验证组件添加为解密组件。 |
头 | 此部件将 SOAP 头中由 QName 指定的头添加为解密部件。 |
安全性令牌对象 | 此对象将安全性令牌添加为解密部件。 |
只有使用了 Web Services Secure Conversation (WS-SecureConversation),Web Service 安全性 API (WSS API) 才通过使用共享密钥支持对称加密。
WSS API 允许使用关键字或 XPath 表达式来指定 SOAP 消息中要进行解密的部件。WebSphere Application Server 支持使用下列关键字:
关键字 | 引用 |
---|---|
BODY_CONTENT | 关键字,用于作为解密目标的 SOAP 消息主体的主体内容。 |
SIGNATURE | 关键字,用于作为解密目标的签名元素。 |
USERNAME_TOKEN, | 关键字,用于作为解密目标的用户名令牌元素。 |
如果使用 WSS API、WSSDecryption API 和 WSSDecryptPart API 进行配置,请完成以下高级步骤:
过程
结果
示例
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler();
// see X509ConsumeCallbackHandler
WSSDecryption dec = factory.newWSSDecryption(X509Token.class,
callbackhandler);
concont.add(dec);
下一步做什么
必须对客户端请求生成者(发送方)绑定配置类似的加密信息(如果尚未配置此信息)。
接下来,检查 WSSDecryption API 过程。