[UNIX、Linux、Windows、IBM i]

流式队列和 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 上设置合适的策略,以允许检查消息的完整性并正确解密。

尤其是,签名算法,签署者和加密算法必须与应用于 QUEUE1的策略相同。 QUEUE2 的策略收件人必须包含使用来自 QUEUE2的消息的收件人的身份。
注: 应用于 QUEUE2 的策略不需要列出 QUEUE1上的策略集中指定的所有收件人。

例如,可以在 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)