![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
流式队列和 AMS
可以流式传输重复的 Advanced Message Security (AMS) 受保护消息。
如果队列定义了 AMS 策略,导致对放入该队列的消息进行签名和/或加密,那么您还可以配置队列的 STREAMQ 属性,以将每个受保护消息的副本放入另一个队列。 使用为原始队列配置的同一策略对重复的流式消息进行签名和/或加密。
在以下示例中,您将配置两个队列: QUEUE1 和 QUEUE2。 QUEUE1 的 STREAMQ 属性已配置为将流式消息放入 QUEUE2:
DEFINE QLOCAL(QUEUE2)
DEFINE QLOCAL(QUEUE1) STREAMQ(QUEUE2)
AMS 受保护的消息正由具有证书 CN=bob,O=IBM,C=GB的用户放入 QUEUE1 。
具有证书 CN=alice,O=IBM,C=GB 的应用程序将使用来自 QUEUE1的消息。 具有证书 CN=fred,O=IBM,C=GB 的单独应用程序将使用来自 QUEUE2的消息。
QUEUE1 应用了以下 AMS 隐私策略:
SET POLICY(QUEUE1) SIGNALG(SHA256) SIGNER('CN=bob,O=IBM,C=GB') ENCALG(AES256) RECIP('CN=alice,O=IBM,C=GB') RECIP('CN=fred,O=IBM,C=GB') ACTION(ADD)
如果在 QUEUE1的策略中配置了加密算法,那么该策略中列出的收件人必须包括来自 QUEUE1的原始消息的收件人以及将使用来自 QUEUE2的重复消息的收件人。
当应用程序尝试使用来自 QUEUE2 的消息时,它将根据 QUEUE2上设置的策略执行完整性检查和/或解密消息。 如果应用程序想要使用来自 QUEUE2的流式消息,那么必须在 QUEUE2 上设置合适的策略,以允许检查消息的完整性并正确解密。
例如,可以在 QUEUE2 上设置以下策略,以允许具有证书专有名称 CN=fred,O=IBM,C=GB 的应用程序从中读取 AMS受保护的消息:
SET POLICY(QUEUE2) SIGNALG(SHA256) SIGNER('CN=bob,O=IBM,C=GB') ENCALG(AES256) RECIP('CN=fred,O=IBM,C=GB') ACTION(ADD)