除此之外,Bouncy Castle 有许多能读取像 PEM 和 ASN.1 这些晦涩格式的工具。这些格式正常人是不会想去自己重写一遍的。

    在 Pulsar 中,安全与加密都对 BouncyCastle Jar 包有依赖。 关于Bouncy Castle FIPS的详细安装和配置,请参阅 , 特别是 用户指南安全政策 PDF 文档。

    Bouncy Castle 提供 FIPS 与 non-FIPS 两个版本。 但在 JVM 中,不能同时引入两个版本,所以需要先排除当前版本才能引入另一个版本。

    在 Pulsar 中,安全和加密方法也依赖于 Bouncy Castle, 特别是 和 传输加密。 本文档包含使用 Pulsar 时的 Bounccastle FIPS(BC-FIPS)和 non-FIPS(BC-non-FIPS)版本的配置。

    bouncy-castle/bc/pom.xml 中定义的 Pulsar 模块 ,包含了Pulsar 所需的 non-FIPS jar 包。

    By using this bouncy-castle-bc module, user can easily include and exclude BouncyCastle non-FIPS jars.

    Pulsar 客户端(pulsar-client-original) 模块可以通过以下方式添加依赖来引入 BouncyCastle non-FIPS jar 包:

    Pulsar Broker (pulsar-broker) 模块可以通过间接引入 Pulsar 客户端(pulsar-client-original) 模块来引入 BouncyCastle non-FIPS jar 包。

    BC-FIPS

    在 中定义的 Pulsar 模块 bouncy-castle-bcfips,包含了Pulsar 所需的 FIPS jar 包。

    用户可以选择直接引入模块 bouncy-castle-bfips,或者引入原生的 BC-FIPS jar 包。

    例如:

    除此之外,bouncy-castle-bcfips 模块构建会包含一个 NAR 格式的输出,你可以通过 -DBcPath='nar/file/path' 设置 java 环境,Pulsar 会自动载入它。