【问题标题】:Adding bouncycastle provider in fuse esb在 fuse esb 中添加 bouncycastle 提供程序
【发布时间】:2020-05-05 05:57:52
【问题描述】:

我的应用程序中运行在 fuse esb 中的 osgi 包需要 bouncycastle 提供的 pgp 加密。 Bouncycastle 提供者不应影响其他应用程序捆绑包/融合 esb 功能。既然bouncycastle不是OSGI jar,那怎么添加到fuse ESB环境呢?

我将 bouncycastle jar 重新打包为 OSGI jar,但它给出了签名错误。我将 jar 复制到 JDK 安全目录,但我的应用程序包没有开始说找不到 bouncycastle 类。与复制到 karaf 外部库目录相同。

【问题讨论】:

    标签: bouncycastle apache-karaf jbossfuse


    【解决方案1】:

    您没有指定 Fuse ESB 的版本(当时称为 JBoss Fuse,现在称为 Red Hat Fuse)。我用的是 Fuse 7.6。

    我检查了一个简单的 pgp 示例,我只需要将 bcpg-jdk15on-164.jar 添加到 $FUSE_HOME/lib/ext - 这个目录已经包含 bcpkixbcprov 库。但是,bcpg 库提供了 OpenPGP 支持。

    从 OSGi 的角度来看,您只需要正确的导入(或动态导入)。无需安装任何bundle,因为一切都在$FUSE_HOME/etc/config.properties中配置:

    org.osgi.framework.bootdelegation = \
        ...
        sun.*, \
        org.bouncycastle, \
        org.bouncycastle.*, \
        ...
    

    如果您使用的是 JBoss Fuse 6.x,则相同。仅$FUSE_HOME/lib/ext 仅包含bcprov-jdk15on.jar

    【讨论】:

    • JBoss Fuse (6.0.0.redhat-024)
    • 您的意思是作为包导入包含在 org.apache.felix maven 插件中,如下所示? javax.ws.rs, net.sf.cglib.proxy,
    • 是的。顺便说一句,6.0.0.redhat-024 太旧了,我真的建议切换到更新的版本。
    • 这意味着将所有 bouncycastle jar 复制到 $FUSE_HOME/lib/ext,如图所示编辑 $FUSE_HOME/etc/config.properties 并在包中导入 org.bouncycastle 包。我说的对吗?
    • 它可以工作,但请不要认为这是受支持的(红帽)解决方案,因为这个版本非常非常旧。
    【解决方案2】:

    1) 将 bouncycastle jar 文件添加到 lib/ext

    2)在 etc/config.properties 中将 bouncycastle 包添加到 bootdelegation(如上第一个答案)

    3) 从 maven-bundle-plugin 的导入部分中显式删除 bouncycastle 包

                     <Import-Package>
                            !org.bouncycastle.jce.*,
                            !org.bouncycastle.bcpg.*,
                            !org.bouncycastle.openpgp.*,
                            !org.bouncycastle.openpgp.operator.*,
                            !org.bouncycastle.openpgp.operator.bc.*,
                            !org.bouncycastle.openpgp.operator.jcajce.*,
                            *
                        </Import-Package>
    

    4) 在动态导入部分导入这些包

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多