除此之外,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 会自动载入它。